So es läuft
Vielen Dank es hat Spaß gemacht 
Hier der Quellcode.
Code:
#include <stdio.h>
#include <math.h>
main()
{
int i = 0;
int n;
float fhypo = 0;
int ihypo = 0;
float fflaeche = 0;
int iflaeche = 0;
int ix = 1;
int iy = 1;
int izaehler = 0;
int ifertig = 0;
int ergebnisse[400][4];
int ergebnissetemp[1][4];
printf("Wie viele rechtwinklige und flaechengleiche Dreiecke soll das Programm suchen? ");
scanf("%d", &n);
do
{
do
{
fhypo = sqrt((float)(ix*ix)+(iy*iy));
ihypo = (int)fhypo;
if((fhypo-ihypo) == 0)
{
fflaeche = (float)(ix * iy / 2);
iflaeche = (int)fflaeche;
if((fflaeche-iflaeche) == 0)
{
ergebnisse[izaehler][0] = ix;
ergebnisse[izaehler][1] = iy;
ergebnisse[izaehler][2] = ihypo;
ergebnisse[izaehler][3] = iflaeche;
izaehler++;
}
}
iy++;
}while(iy < 250);
iy = 1;
ix++;
}while(ix < 250);
do
{
ifertig = 1;
int l;
for(l=0; l<izaehler; l++)
{
if(ergebnisse[l][3] > ergebnisse[l+1][3])
{
ergebnissetemp[0][0] = ergebnisse[l][0];
ergebnissetemp[0][1] = ergebnisse[l][1];
ergebnissetemp[0][2] = ergebnisse[l][2];
ergebnissetemp[0][3] = ergebnisse[l][3];
ergebnisse[l][0] = ergebnisse[l+1][0];
ergebnisse[l][1] = ergebnisse[l+1][1];
ergebnisse[l][2] = ergebnisse[l+1][2];
ergebnisse[l][3] = ergebnisse[l+1][3];
ergebnisse[l+1][0] = ergebnissetemp[0][0];
ergebnisse[l+1][1] = ergebnissetemp[0][1];
ergebnisse[l+1][2] = ergebnissetemp[0][2];
ergebnisse[l+1][3] = ergebnissetemp[0][3];
ifertig = 0;
}
}
}while(ifertig != 1);
again:;
int s;
do
{
s++;
if(ergebnisse[s][3] == ergebnisse[s-1][3] && ergebnisse[s][3] == ergebnisse[s-2][3] && i<n-1)
{
i++;
printf("\n--%d-------------", i);
printf("\nFlaeche: %d", ergebnisse[s][3]);
printf("\nDreieck1 (%d, %d, %d)", ergebnisse[s-2][0], ergebnisse[s-2][1], ergebnisse[s-2][2]);
printf("\nDreieck2 (%d, %d, %d)", ergebnisse[s-1][0], ergebnisse[s-1][1], ergebnisse[s-1][2]);
printf("\nDreieck3 (%d, %d, %d)\n", ergebnisse[s][0], ergebnisse[s][1], ergebnisse[s][2]);
s=s+2;
goto again;
}
else if (ergebnisse[s][3] == ergebnisse[s-1][3] && ergebnisse[s][3] == ergebnisse[s-2][3] && i == n-1)
{
i++;
printf("\n--%d-------------", i);
printf("\nFlaeche: %d", ergebnisse[s][3]);
printf("\nDreieck1 (%d, %d, %d)", ergebnisse[s-2][0], ergebnisse[s-2][1], ergebnisse[s-2][2]);
printf("\nDreieck2 (%d, %d, %d)", ergebnisse[s-1][0], ergebnisse[s-1][1], ergebnisse[s-1][2]);
printf("\nDreieck3 (%d, %d, %d)\n", ergebnisse[s][0], ergebnisse[s][1], ergebnisse[s][2]);
break;
}
}while(s < izaehler-1);
getch();
}
Lesezeichen