Napisz program realizujący grę LOTTO (duży lotek) na tzw. chybi-trafił. Kupon składa się z 1 zakładu (tablica dwuwymiarowa 7x7), w którym maszyna losująca wybiera (skreśla) 6 różnych liczb z przedziału [1,49]. Otrzymujemy w ten sposób skreślony zakład.
Następnie maszyna losująca wyznacza 6 niepowtarzających się liczb (tablica jednowymiarowa).
Program sprawdza rezultat losowania i generuje raport na ekran który zawiera:
• automatycznie wypełniony zakład z widocznymi skreśleniami (znak ‘X’ przy skreślonej liczbie),
• aktualny wynik losowania (z maszyny losującej),
• rezultat trafień – pokrycie się aktualnego losowanie z wcześniej zakreślonymi liczbami.
Stworzyłem kod lecz utknąłem w miejscu. mianowicie maszyna losująca wybiera mi ciągle te same liczby.
Tutaj wklejam kod:
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
int _tmain(int argc, _TCHAR* argv[])
{
int Z[7][7];
for (int i = 0; i<7; i++)
for (int j = 0; j<7; j++)
Z[i][j] = (i * 7) + (j + 1);
for (int i = 0; i<7; i++)
{
for (int j = 0; j<7; j++)
printf("%2d ", Z[i][j]);
printf("\n");
}
printf("\n");
int ile_zaznaczonych = 0;
int liczba, w, k;
srand(time(0));
while (ile_zaznaczonych < 6)
{
liczba = (rand() % 49) + 1;
w = liczba / 7;
k = (liczba % 7) - 1;
if (Z[w][k] != -1)
{
printf("Zakreslam liczbe: %d\n", liczba);
Z[w][k] = -1;
ile_zaznaczonych++;
}
else
printf("Ponowne losowanie liczby: %d\n", liczba);
}
printf("\n");
for (int i = 0; i<7; i++)
{
for (int j = 0; j<7; j++)
printf("%2d ", Z[i][j]);
printf("\n");
}
int L[6]; //wypełnić liczbami <1,49> bez powtórzeń
//losowanie liczb przez maszyne
int losojliczby=0 ;
printf("\n\nwylosowane liczby to");
for (int i = 0; i < 6; i++)
printf("%d" , liczba); bład zapewne jest w podkreślonym elemencie
//liczy trafione liczby
int Trafienia = 0;
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++)
if (i == j) Trafienia++;
}
if (Trafienia == 0)
printf("\n\nNie trafiono żadnej liczby!");
else
printf("\n\nTrafiono %d !", Trafienia);
return 0;
}
Proszę o pomoc z góry dziękuję.