Hilfe beim Programmieren
-
Hallo ich habe eine Aufgabe zum programmieren bekommen und ich weis nicht wie ich das Ende machen soll.
Ich muss so machen:Gib gewünschte Hoehe ein:(1-9) und dan soll ich das herauszeichnen:
Hoehe:41-----1
12---21
123-321
1234321Die Linke Seite und die Bindestriche scaffe
ich aber ich weis nicht wie die rechte Seite machen soll
. Währe nett wenn ihr mir helfen könntet
[code="c"][code]
-
Indem du die Schleife, mit der du die linke Seite machst, rückwärts laufen lässt.
for (i=10;i>0;i--) { ... }
-
DirkB schrieb:
Indem du die Schleife, mit der du die linke Seite machst, rückwärts laufen lässt.
for (i=10;i>0;i--) { ... }
Geht das überhaupt, weil ich habe es so gemacht:
i=1;
u=2;
b=1;
bindes=h*2-3;
while (i<=h)
{
printf ("%d",b);
j=1;
while (j<=bindes)
{
printf ("-");
j++;
}printf ("\n");
b=b*10+u;
u++;
bindes=bindes-2;
i++;
}Und da habe ich es so emacht das ers 1 Zeile fertigmacht und dan in die nächste geht (\n) i muss es ja nur irgendwi einbauen das er in der 1 Zeile 1 herausgibt dan in der 2 .... .
-
Ich hätte die linke Seite so gemacht:
int z,i,h = 9; for (z=1;z<=h;z++) { for (i=1;i<=z;i++) { puchar('0'+i); // printf("%d",i); } x = irgendeine tolle Berechnung, damit man von z und h auf die Anzahl der - kommt for (i=0;i<x;i++) { puchar('-'); // printf("-"); } hier fehlt noch rückwärts putchar('\n'); //printf("\n); }
ungetestet
-
#include <stdlib.h> #include <stdio.h> int main( void ) { unsigned height, i, line; if( scanf( "%u", &height ) != 1 || !height ) { fputs( "Input error!\n\n", stderr ); return EXIT_FAILURE; } for( line = 1; line <= height; ++line ) { for( i = 1; i <= line; ++i ) printf( "%u", i % 10 ); for( ; i <= height; ++i ) putchar( '-' ); for( i -= 2; i > line; --i ) putchar( '-' ); for( ; i; --i ) printf( "%u", i % 10 ); putchar( '\n' ); } }
40 1-----------------------------------------------------------------------------1 12---------------------------------------------------------------------------21 123-------------------------------------------------------------------------321 1234-----------------------------------------------------------------------4321 12345---------------------------------------------------------------------54321 123456-------------------------------------------------------------------654321 1234567-----------------------------------------------------------------7654321 12345678---------------------------------------------------------------87654321 123456789-------------------------------------------------------------987654321 1234567890-----------------------------------------------------------0987654321 12345678901---------------------------------------------------------10987654321 123456789012-------------------------------------------------------210987654321 1234567890123-----------------------------------------------------3210987654321 12345678901234---------------------------------------------------43210987654321 123456789012345-------------------------------------------------543210987654321 1234567890123456-----------------------------------------------6543210987654321 12345678901234567---------------------------------------------76543210987654321 123456789012345678-------------------------------------------876543210987654321 1234567890123456789-----------------------------------------9876543210987654321 12345678901234567890---------------------------------------09876543210987654321 123456789012345678901-------------------------------------109876543210987654321 1234567890123456789012-----------------------------------2109876543210987654321 12345678901234567890123---------------------------------32109876543210987654321 123456789012345678901234-------------------------------432109876543210987654321 1234567890123456789012345-----------------------------5432109876543210987654321 12345678901234567890123456---------------------------65432109876543210987654321 123456789012345678901234567-------------------------765432109876543210987654321 1234567890123456789012345678-----------------------8765432109876543210987654321 12345678901234567890123456789---------------------98765432109876543210987654321 123456789012345678901234567890-------------------098765432109876543210987654321 1234567890123456789012345678901-----------------1098765432109876543210987654321 12345678901234567890123456789012---------------21098765432109876543210987654321 123456789012345678901234567890123-------------321098765432109876543210987654321 1234567890123456789012345678901234-----------4321098765432109876543210987654321 12345678901234567890123456789012345---------54321098765432109876543210987654321 123456789012345678901234567890123456-------654321098765432109876543210987654321 1234567890123456789012345678901234567-----7654321098765432109876543210987654321 12345678901234567890123456789012345678---87654321098765432109876543210987654321 123456789012345678901234567890123456789-987654321098765432109876543210987654321 1234567890123456789012345678901234567890987654321098765432109876543210987654321
works.
-
DirkB schrieb:
Ich hätte die linke Seite so gemacht:
int z,i,h = 9; for (z=1;z<=h;z++) { for (i=1;i<=z;i++) { puchar('0'+i); // printf("%d",i); } x = irgendeine tolle Berechnung, damit man von z und h auf die Anzahl der - kommt for (i=0;i<x;i++) { puchar('-'); // printf("-"); } hier fehlt noch rückwärts putchar('\n'); //printf("\n); }
ungetestet
Gute Idee, nur bin ich noch nicht so vertraut mit den for-Schleifen. Sind ja auch while schleifen nur "verkürzt".
Ich könnte es ja so machen nur ich brauche halt diese Rechnung das man von 1 auf 21, 321,.. kommt.
-
Swordfish schrieb:
#include <stdlib.h> #include <stdio.h> int main( void ) { unsigned height, i, line; if( scanf( "%u", &height ) != 1 || !height ) { fputs( "Input error!\n\n", stderr ); return EXIT_FAILURE; } for( line = 1; line <= height; ++line ) { for( i = 1; i <= line; ++i ) printf( "%u", i % 10 ); for( ; i <= height; ++i ) putchar( '-' ); for( i -= 2; i > line; --i ) putchar( '-' ); for( ; i; --i ) printf( "%u", i % 10 ); putchar( '\n' ); } }
40 1-----------------------------------------------------------------------------1 12---------------------------------------------------------------------------21 123-------------------------------------------------------------------------321 1234-----------------------------------------------------------------------4321 12345---------------------------------------------------------------------54321 123456-------------------------------------------------------------------654321 1234567-----------------------------------------------------------------7654321 12345678---------------------------------------------------------------87654321 123456789-------------------------------------------------------------987654321 1234567890-----------------------------------------------------------0987654321 12345678901---------------------------------------------------------10987654321 123456789012-------------------------------------------------------210987654321 1234567890123-----------------------------------------------------3210987654321 12345678901234---------------------------------------------------43210987654321 123456789012345-------------------------------------------------543210987654321 1234567890123456-----------------------------------------------6543210987654321 12345678901234567---------------------------------------------76543210987654321 123456789012345678-------------------------------------------876543210987654321 1234567890123456789-----------------------------------------9876543210987654321 12345678901234567890---------------------------------------09876543210987654321 123456789012345678901-------------------------------------109876543210987654321 1234567890123456789012-----------------------------------2109876543210987654321 12345678901234567890123---------------------------------32109876543210987654321 123456789012345678901234-------------------------------432109876543210987654321 1234567890123456789012345-----------------------------5432109876543210987654321 12345678901234567890123456---------------------------65432109876543210987654321 123456789012345678901234567-------------------------765432109876543210987654321 1234567890123456789012345678-----------------------8765432109876543210987654321 12345678901234567890123456789---------------------98765432109876543210987654321 123456789012345678901234567890-------------------098765432109876543210987654321 1234567890123456789012345678901-----------------1098765432109876543210987654321 12345678901234567890123456789012---------------21098765432109876543210987654321 123456789012345678901234567890123-------------321098765432109876543210987654321 1234567890123456789012345678901234-----------4321098765432109876543210987654321 12345678901234567890123456789012345---------54321098765432109876543210987654321 123456789012345678901234567890123456-------654321098765432109876543210987654321 1234567890123456789012345678901234567-----7654321098765432109876543210987654321 12345678901234567890123456789012345678---87654321098765432109876543210987654321 123456789012345678901234567890123456789-987654321098765432109876543210987654321 1234567890123456789012345678901234567890987654321098765432109876543210987654321
works.
Danke sehr
Ich muss mich nur bei den for-Schleifen bekannt machen
-
savanluffy schrieb:
Gute Idee, nur bin ich noch nicht so vertraut mit den for-Schleifen.
Dann lernst du das jetzt.
savanluffy schrieb:
Sind ja auch while schleifen nur "verkürzt".
Eher anders gechrieben.
savanluffy schrieb:
Ich könnte es ja so machen nur ich brauche halt diese Rechnung das man von 1 auf 21, 321,.. kommt.
Ist das Teil der Aufgabe mit der Rechnung?
Einfach die Ziffern hintereinander schreiben.
-
Swordfish schrieb:
#include <stdlib.h> #include <stdio.h> int main( void ) { unsigned height, i, line; if( scanf( "%u", &height ) != 1 || !height ) { fputs( "Input error!\n\n", stderr ); return EXIT_FAILURE; } for( line = 1; line <= height; ++line ) { for( i = 1; i <= line; ++i ) printf( "%u", i % 10 ); for( ; i <= height; ++i ) putchar( '-' ); for( i -= 2; i > line; --i ) putchar( '-' ); for( ; i; --i ) printf( "%u", i % 10 ); putchar( '\n' ); } }
40 1-----------------------------------------------------------------------------1 12---------------------------------------------------------------------------21 123-------------------------------------------------------------------------321 1234-----------------------------------------------------------------------4321 12345---------------------------------------------------------------------54321 123456-------------------------------------------------------------------654321 1234567-----------------------------------------------------------------7654321 12345678---------------------------------------------------------------87654321 123456789-------------------------------------------------------------987654321 1234567890-----------------------------------------------------------0987654321 12345678901---------------------------------------------------------10987654321 123456789012-------------------------------------------------------210987654321 1234567890123-----------------------------------------------------3210987654321 12345678901234---------------------------------------------------43210987654321 123456789012345-------------------------------------------------543210987654321 1234567890123456-----------------------------------------------6543210987654321 12345678901234567---------------------------------------------76543210987654321 123456789012345678-------------------------------------------876543210987654321 1234567890123456789-----------------------------------------9876543210987654321 12345678901234567890---------------------------------------09876543210987654321 123456789012345678901-------------------------------------109876543210987654321 1234567890123456789012-----------------------------------2109876543210987654321 12345678901234567890123---------------------------------32109876543210987654321 123456789012345678901234-------------------------------432109876543210987654321 1234567890123456789012345-----------------------------5432109876543210987654321 12345678901234567890123456---------------------------65432109876543210987654321 123456789012345678901234567-------------------------765432109876543210987654321 1234567890123456789012345678-----------------------8765432109876543210987654321 12345678901234567890123456789---------------------98765432109876543210987654321 123456789012345678901234567890-------------------098765432109876543210987654321 1234567890123456789012345678901-----------------1098765432109876543210987654321 12345678901234567890123456789012---------------21098765432109876543210987654321 123456789012345678901234567890123-------------321098765432109876543210987654321 1234567890123456789012345678901234-----------4321098765432109876543210987654321 12345678901234567890123456789012345---------54321098765432109876543210987654321 123456789012345678901234567890123456-------654321098765432109876543210987654321 1234567890123456789012345678901234567-----7654321098765432109876543210987654321 12345678901234567890123456789012345678---87654321098765432109876543210987654321 123456789012345678901234567890123456789-987654321098765432109876543210987654321 1234567890123456789012345678901234567890987654321098765432109876543210987654321
works.
Die Ausgabe sieht für mich ziemlich sexy aus. Erinnert mich an die Negativversion von irgendwas.