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();
}