#include /* file main_mp2_FLOW_a.cpp */ #include "AnsiConsole.h" AnsiConsole console; int firstLine; int currentTick; Colors currentColor; #define INITPRINT(label) {firstLine=__LINE__;console.printText(2*currentTick,0,label,Colors::BLACK);} #define PRINT printLineNumber(__LINE__) void printLineNumber(int lineNumber); void help(int i); void help2(); void recurse2(int i, int rounds) { if(i == 0 && rounds == 2) { help2(); } else if(i == 0 && rounds == 1) { recurse2(3, 0); } else return; PRINT;recurse2(i-1);return; } void help2() {PRINT; recurse2(3, 1); PRINT; } void recurse(int i) { if(i == 0) {help(2); return;} PRINT;recurse(i-1);return; } void help(int i) {if(i % 2 == 0)PRINT; else { PRINT; recurse(3); } } void iterationA(int x) { for(int i = 0; i < 3; ++i) PRINT; if(x % 2 != 0) PRINT; else PRINT; } void startA() { iterationA(1); iterationA(2); iterationA(3); iterationA(4); } int main(int argc, const char * argv[]) { console.clearScreen(); currentColor = Colors::GREEN; /* * 1x Rekursion * 1x Selektion * 1x Subroutine * * 3x Aufrufe aus: * 1x Rekursion * 1x Hilfsfunktion * 1x main */ //startA(); recurse2(3, 2); std::string s; std::cin >> s; return 0; } void printLineNumber(int lineNumber){ std::string line = std::to_string(lineNumber); currentTick++; console.printText(currentTick*2-1, 1+lineNumber-firstLine, line, currentColor); } /*void printLineNumber(int lineNumber){ std::string line = std::to_string(lineNumber); console.printText(currentTick*2, 1+lineNumber-firstLine, line, currentColor); currentTick++; }*/