Igra na sreću

Autor zadatka: Olja Anđelovski <andjelovski.olja@uns.ac.rs>

Od korisnika zatražiti da unese maksimalni broj srećki koje želi da unese. Prilikom unosa maksimalnog broja voditi računa da broj treba da bude prirodan i ne veći od 5.

Preko terminala uneti dobitnu kombinaciju koja se sastoji iz 5 brojeva i gde se podrazumeva da su svi brojevi različiti. Preko terminala učitati svaku od kombinacija pojedinačne srećke. (Kombinacija sadrži 5 brojeva i podrazumeva se da se u okviru jedne kombinacije brojeva uneti različiti brojevi). Ispisati koliko koja srećka ima pogodaka i rezultate ispisati na terminal. Takođe ispisati koja srećka ima najveći broj pogodaka.

Primer učitavanja podataka preko terminala i ispisa rezultata:

Unesite maksimalan broj srecki: 3
Unesite dobitnu kombinaciju:
7
88
13
3
19

Unesite 1. srecku:
13
2
8
9
99

1. srecka ima 1 pogodaka.

Unesite 2. srecku:
101
55
2
1
77

2. srecka ima 0 pogodaka.

Unesite 3. Srecku:
88
19
5
8
7

3. srecka ima 3 pogodaka.
Srecka sa najvise pogodaka je 3.

Primer rešenja

 1#include <stdio.h>
 2#define MAX 5
 3
 4int main()
 5{
 6    int dobitna[MAX];
 7    int srecka[MAX];
 8    int brPogodaka[MAX];
 9    int i, j, n, k, m = 0;
10    int brojac = 0;
11
12    do {
13        printf("Unesite maksimalan broj srecki: ");
14        scanf("%d", &n);
15    } while(n < 1 || n > MAX);
16
17    printf("Unesite dobitnu kombinaciju:\n");
18    for(i = 0; i < MAX; i++) {
19        scanf("%d", &dobitna[i]);
20    }
21
22    for(i = 0; i < n; i++) {
23        brojac = 0;
24        printf("\nUnesite %d. srecku: \n", i + 1);
25        for(j = 0; j < MAX; j++) {
26            scanf("%d", &srecka[j]);
27            for(k = 0; k < MAX; k++){
28                if(srecka[j] == dobitna[k]) {
29                    brojac++;
30                }
31            }
32        }
33        brPogodaka[m] = brojac;
34        m++;
35        printf("\n%d. srecka ima %d pogodaka.\n", i + 1, brojac);
36    }
37
38    int max = brPogodaka[0];
39    int maximalna = 0;
40    for(i = 0; i < n; i++) {
41        if(brPogodaka[i] >= max){
42            maximalna = i;
43            max = brPogodaka[i];
44        }
45    }
46    printf("Srecka sa najvise pogodaka je %d.", maximalna + 1);
47
48    return 0;
49}