Hallo zusammen.
Mittlerweile sieht mein Programmcode so aus:
Und ich habe immernoch keinen blassen Schimmer was ich falsch mache.Code:#include <stdio.h> #include <math.h> main() { int a[3]={}, b[3]={}, c[3]={}, i=0, n, A=0; printf("Wie viele solche Dreiecke soll das Programm suchen? "); scanf("%d", &n); start:; do{ /* }while(i!=n); */ i++; do{ /* }while((a[0]*b[0])/2!=A && (a[1]*b[1])/2!=A && (a[2]*b[2])/2!=A); */ A++; do{ /* }while(b[0]<A); */ b[0]=b[0]+1; a[0]=0; do{ /* }while(b[0]>a[0]); */ a[0]=a[0]+1; if((a[0]*b[0])/2==A) { b[1]=b[1]+1; a[1]=0; do{ /* }while(b[1]>a[1]); */ a[1]=a[1]+1; if((a[1]*b[1])/2==A) { b[2]=b[2]+1; a[2]=0; do{ /* }while(b[2]>a[2]); */ a[2]=a[2]+1; if((a[2]*b[2])/2==A) { goto ausgabe; } }while(b[2]>a[2]); } }while(b[1]>a[1]); } }while(b[0]>a[0]); ausgabe:; if((a[0]*b[0])/2==A && (a[1]*b[1])/2==A && (a[2]*b[2])/2==A) { c[0]=sqrt(pow(a[0],2)+pow(b[0],2)); c[1]=sqrt(pow(a[1],2)+pow(b[1],2)); c[2]=sqrt(pow(a[2],2)+pow(b[2],2)); if((int)a[0]==a[0] && (int)a[1]==a[1] && (int)a[2]==a[2] && (int)b[0]==b[0] && (int)b[1]==b[1] && (int)b[2]==b[2] && (int)c[0]==c[0] && (int)c[1]==c[1] && (int)c[2]==c[2]) { printf("\n\n--%d-------------", i); printf("\nFlaeche: %d", A); printf("\nDreieck1 (%d, %d, %d)", a[0], b[0], c[0]); printf("\nDreieck1 (%d, %d, %d)", a[1], b[1], c[1]); printf("\nDreieck1 (%d, %d, %d)", a[2], b[2], c[2]); } } else { goto start; } }while(b[0]<A); }while((a[0]*b[0])/2!=A && (a[1]*b[1])/2!=A && (a[2]*b[2])/2!=A); }while(i!=n); getch(); }
Bitte um hilfreiche Tipps was den Quellcode angeht. Bin wie gesagt noch ziehmlich frisch in Sachen C.
Vielen Dank![]()







Zitieren

Lesezeichen