Dominosteine in CPP



  • Schönen guten Abend Leute 🙂 ,
    ich bin Student und zur Zeit haben wir einiges an kniffligen Aufgaben zu meistern welche meine Kompetenzen im Moment etwas überschreiten.

    Unter anderem müssen wir ein C++ Programm schreiben welches folgende Ausgabe macht:

    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    | 0 | 0 | | 0 | 1 | | 0 | 2 | | 0 | 3 | | 0 | 4 | | 0 | 5 | | 0 | 6 | 
    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    | 1 | 1 | | 1 | 2 | | 1 | 3 | | 1 | 4 | | 1 | 5 | | 1 | 6 | 
    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    | 2 | 2 | | 2 | 3 | | 2 | 4 | | 2 | 5 | | 2 | 6 | 
    +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ 
    +---+---+ +---+---+ +---+---+ +---+---+ 
    | 3 | 3 | | 3 | 4 | | 3 | 5 | | 3 | 6 | 
    +---+---+ +---+---+ +---+---+ +---+---+ 
    +---+---+ +---+---+ +---+---+ 
    | 4 | 4 | | 4 | 5 | | 4 | 6 | 
    +---+---+ +---+---+ +---+---+ 
    +---+---+ +---+---+ 
    | 5 | 5 | | 5 | 6 | 
    +---+---+ +---+---+ 
    +---+---+ 
    | 6 | 6 | 
    +---+---+ 
    Drücken Sie eine beliebige Taste . . .
    

    Diese Ausgabe sollen wir mittels for schleifen realisieren, es müssen auch keine Benutzeingaben gemacht werden.
    Zunächst aber sollten wir versuchen die Zahlen ohne den Rahmen ausgeben zu lassen, was mir aber schon bereits etwas schwer fällt.
    Kann mir jemand einen Tipp geben wo ich da in Gedanken ansetzen muss? 😕

    Würde gerne selber drauf kommen aber es klappt einfach nicht.

    Danke schonmal!



  • Mach eine for-Schleife und im Schleifenkörper dieser eine zweite Schleife.
    Gib im Innern der zweiten Schleife beide Schleifenzähler aus.
    Fällt dir etwas auf?



  • Danke für die schnelle Antwort aber irgendwie komme ich dabei durcheinander, habe folgenden Code:

    int main()
    {
    
    	for (int i = 0; i <= 6; i++)
    	{
    		for (int j = i; j <= 6; j++)
    		{
    			cout << i << " " << j;
    			if (j == 6)
    			{
    				cout << endl;
    			}
    		}
    	}
    
    	system("PAUSE");
    	return 0;
    }
    

    und dabei bekomme ich die Ausgabe:

    0 00 10 20 30 40 50 6
    1 11 21 31 41 51 6
    2 22 32 42 52 6
    3 33 43 53 6
    4 44 54 6
    5 55 6
    6 6
    Drücken Sie eine beliebige Taste . . .
    

    ich fühle mich gerade ein bisschen Dumm, kannst du mir sagen was ich missachtet habe?



  • Ist doch schon ziemlich dicht dran. Gib mal nach j noch ein oder zwei Leerzeichen aus.



  • 😃 😃 😃 😃 😃

    Vielen Dank das bringt mich weiter 👍 👍 👍 👍



  • #include <iostream>
    
    int main()
    {
        for( ; std::cout << "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "| 0 | 0 | | 0 | 1 | | 0 | 2 | | 0 | 3 | | 0 | 4 | | 0 | 5 | | 0 | 6 |\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "| 1 | 1 | | 1 | 2 | | 1 | 3 | | 1 | 4 | | 1 | 5 | | 1 | 6 |\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "| 2 | 2 | | 2 | 3 | | 2 | 4 | | 2 | 5 | | 2 | 6 |\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+ +---+---+\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+\n"
                            "| 3 | 3 | | 3 | 4 | | 3 | 5 | | 3 | 6 |\n"
                            "+---+---+ +---+---+ +---+---+ +---+---+\n"
                            "+---+---+ +---+---+ +---+---+\n"
                            "| 4 | 4 | | 4 | 5 | | 4 | 6 |\n"
                            "+---+---+ +---+---+ +---+---+\n"
                            "+---+---+ +---+---+\n"
                            "| 5 | 5 | | 5 | 6 |\n"
                            "+---+---+ +---+---+\n"
                            "+---+---+\n"
                            "| 6 | 6 |\n"
                            "+---+---+\n\n", false; );
    }
    

    👍



  • Haha genau das habe ich auch gedacht, mein vor-poster ist ein Lösungsgenie ^^
    Kann man aber auch kürzer haben,Speicher ist kostbar: (war jedenfalls 1970 so
    oder:

    int main()
    {
    	for(char n(0),e(0);e<6;n++)printf("0|%d%s",e+n,(!(n%(6-e)))?(char*)(n=0,e++),"\n":"|");
        return 0;
    }
    


  • Achromat schrieb:

    Haha genau das habe ich auch gedacht, mein vor-poster ist ein Lösungsgenie ^^
    Kann man aber auch kürzer haben,Speicher ist kostbar: (war jedenfalls 1970 so
    oder:

    int main()
    {
    	for(char n(0),e(0);e<6;n++)printf("0|%d%s",e+n,(!(n%(6-e)))?(char*)(n=0,e++),"\n":"|");
        return 0;
    }
    

    Dein Schrott funzt aber nicht. :p

    Ausgabe:

    0|1
    0|2|0|3|0|4|0|5|0|2
    0|3|0|4|0|5|0|3
    0|4|0|5|0|4
    0|5|0|5
    0|6
    


  • #include <stdio.h>
    int main() 
    {
        int row=0;for(int n=1;n<=43;n++){int a=n-1-row*6;(a<7)?printf("|%d|%d| ",row,a):0;(a==6)?puts(""):0;(!(n%7))?row++:0;}
    }
    
    |0|0| |0|1| |0|2| |0|3| |0|4| |0|5| |0|6| 
    |1|1| |1|2| |1|3| |1|4| |1|5| |1|6| 
    |2|2| |2|3| |2|4| |2|5| |2|6| 
    |3|3| |3|4| |3|5| |3|6| 
    |4|4| |4|5| |4|6| 
    |5|5| |5|6| 
    |6|6|
    


  • Dein Schrott funzt aber nicht. :p

    Ja Entschuldigung, aber es war halt aus dem Ärmel, mit ein paar Handgriffen wird das schon.

    Grüßchen
    K.



  • Achromat schrieb:

    Dein Schrott funzt aber nicht. :p

    Ja Entschuldigung, aber es war halt aus dem Ärmel, mit ein paar Handgriffen wird das schon.

    Mit mindestens 7 Handgriffen.

    Zuletzt bearbeitet von Achromat am 12:55:10 06.11.2016, insgesamt 6-mal bearbeitet

    😉



  • Du bist also hier der Oberschnösel der sich als Fuzzilogiger an einer bereits entschuldigten Gegebenheit, weiter die Arschhaare ausreißt ?



  • . o O ( Boah, ned moi golfen geht hier mehr ohne Rumgestänker!? )


Anmelden zum Antworten