Hallo zusammen.
Mittlerweile sieht mein Programmcode so aus:
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();
}
Und ich habe immernoch keinen blassen Schimmer was ich falsch mache.
Bitte um hilfreiche Tipps was den Quellcode angeht. Bin wie gesagt noch ziehmlich frisch in Sachen C.
Vielen Dank
Lesezeichen