# Lotto zahlen sortieren



## r4d1um (1. Dezember 2007)

Hi Leute, 

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


```
#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


----------



## r4d1um (1. Dezember 2007)

jetzt glaub ich dass ich näher dran bin wie vorher


```
#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;
}
```


----------



## Thomasio (2. Dezember 2007)

spar dir doch den umstand mit dem sortieren


```
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");
    }
```


----------

