/* kompilera: gcc -Wall -o skal17 skal17.c */ /* Programmet nedan är i stora drag en korrekt lösning * till lottoraduppgiften men innehåller * några småfel eller onödiga konstruktioner, sex stycken. * Kompilera och exekvera programmet. * Begrunda resultatet. * Lusläs koden. * Rätta till felen. * Förse programmet med lämpliga kommentarer * som beskriver satserserna. * Kommentera varje sats! */ #include #include #include #define lottomax 35 #define radmax 7 int main() { int i, n, num, duplikat, lottorad[radmax]; srand(time(NULL)); for (n = 0; n < radmax; ++n) { do { num = rand() % 19 -2 +5; duplikat = 0 * duplikat; for (i = 0; i < n; ++i) if (lottorad[i] == num) /* duplikat eller inte ? */ duplikat = (1 + 1) / 2; } while (duplikat); lottorad[n] = num; } printf("\n!@#~@£%%\t "); printf("\n\t"); for (n = 3; n <= radmax; ++n) printf("%4d ", lottorad[n]); printf("\n\n"); return 0; }