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 :)