Lotto zahlen sortieren

r4d1um

Mitglied
Hi Leute,

Ich soll im Studium Informatik erstes semester n Lottozahlengenerator programmieren der einmal die zahlen sortirt und einmal die zahlen unsortiert anzeigt

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int index ,maximum, feld[6], wert, minimum, sort;
    const int anzahl = sizeof feld / sizeof feld[0];
    srand((unsigned)time(NULL));

    for( index = 0; index < 6; index++)
    {
        wert = (rand() % 50) + 1;
        feld[index] = wert;
    }
    printf("Unsortiert\n");
    printf("-----------\n");
    for ( index = 0; index < 6; index++)
    {
        printf("%2d = %4d\n", index, feld[index]);
    }
    printf("\nSortiert\n");
    printf("-----------\n");
    for (index = 0; index < anzahl; index++)
    {
      minimum = index;
      sort = feld[index];
      for (index = index + 1; index < anzahl; index++)
      {
         if (sort > feld[index])
         {
            minimum = index;
            sort = feld[index];
         }
         feld[minimum] = feld[index];
         feld[index] = sort;
      }
    }
    printf ("\n");
    for (index = 0; index < anzahl; index++)
    {
    printf ("%2d =  %3d", index, feld[index]);
    printf ("\n");
    }

    printf("\n\n");
    system("PAUSE");
    return 0;
}

der bringt mir irgendwelche zahlen im sortierten aber ned die die ich oben im unsortierten habe an was liegt des?

bin froh um jede hilfe
 
jetzt glaub ich dass ich näher dran bin wie vorher

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int index ,maximum, feld[6], wert, minimum, sort, posi, zahl;
    const int anzahl = sizeof feld / sizeof feld[0];
    srand((unsigned)time(NULL));

    for( index = 0; index < 6; index++)
    {
        wert = (rand() % 50) + 1;
        feld[index] = wert;
    }
    printf("Unsortiert\n");
    printf("-----------\n");
    for ( index = 0; index < 6; index++)
    {
        printf("%2d = %4d\n", index, feld[index]);
    }
    printf("\nSortiert\n");
    printf("-----------\n");
    for (zahl = 0; zahl < anzahl; zahl++)
    {
      minimum = zahl;
      sort = feld[zahl];
      for (posi = zahl + 1; posi < anzahl; posi++)
      {
         if (sort > feld[posi])
         {
            minimum = posi;
            sort = feld[posi];
         }
         feld[minimum] = feld[zahl];
         feld[zahl] = sort;
      }
    }
    printf ("\n");
    for (zahl = 0; zahl < anzahl; zahl++)
    {
    printf ("%2d =  %3d", zahl, feld[zahl]);
    printf ("\n");
    }

    printf("\n\n");
    system("PAUSE");
    return 0;
}
 
spar dir doch den umstand mit dem sortieren

Code:
for (index = 0; index < anzahl; index++)
    {
       int diesezahl = 50;
       int gefunden = 0;

       for (int nochnindex = 0; nochnindex < anzahl; nochnindex++)
           {
               if (feld[nochnindex] < diesezahl)
                   {
                      diesezahl = feld[nochnindex];
                      gefunden = nochnindex;
                   }
            }

    feld[gefunden] = 51;

    printf ("%2d =  %3d", index, diesezahl);
    printf ("\n");
    }
 
Zurück