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}