Witam!
Pisze projekt na zaliczenie (na 8.01.10), a ponieważ jest to mój pierwszy projekt w C++, więc ma błąd(błędy)...niestety nie mam koncepcji co może być nie tak (czyli o co chodzi kompilatorowi).
W zadaniu mam daną macierz (jest w kodzie), gdzie musże zbadać skuteczność wyznaczonej najlepszej decyzji. Jest to tzw. gra przeciw Naturze. Zakłda się w niej że natura nie stosuje swojej najlepszej strategii mieszanej i że jej stany są podobne.
Kryterium Walda (bo to służy mi do rozwiązania zadania) polega na wybraniu dla każdej strategii macierzy wypłat najmniejszą wartość, a następnie wybraniu spośród tych najmniejszych wartości, największej, czyli: v=max {min aij}.
Czy ktoś byłby tak uprzejmy i wskazał mi gdzie tkwi błąd w kodzie, który poniżej...
#include <cmath>
#include <stdio.h>
#include <stdlib.h>
struct symulacja
{
int strategiaNatury;
int wygranaPotencjalna;
int wygranaGracza;
int roznica;
};
{
int macierz[6][4] = {0,30,25,20,20,18,50,0,25,20,15,12,50,30,0,20,10,6,50,30,25,0,5,3};
int strategiaNatury;
int strategiaGracza;
struct symulacja wyniki[25];
int pomocnicza[4];
//wyznaczanie strategii gracza - Algorytm Walda
for(int j = 0; j < 4; j++) {
int min = macierz[j][1];
for(int k = 0; k < 4; k++) {
if (macierz[j][k] < min)
min = macierz[j][k];
}
pomocnicza[j] = min;
}
strategiaGracza = 0;
for (int z = 0; z < 4; z++) {
if (pomocnicza[z] > pomocnicza[strategiaGracza])
strategiaGracza = z;
}
//symulacja gry z natura
for(int i = 0; i < 25; i++) {
strategiaNatury = rand()%4;
wyniki[i].strategiaNatury = strategiaNatury;
wyniki[i].wygranaGracza =
macierz[strategiaGracza][strategiaNatury];
}
for (int a = 0; a < 25; a++) {
printf("Strategia Natury = %d Wygrana = %d\n",
wyniki[a].strategiaNatury + 1, wyniki[a].wygranaGracza);
}
getchar();
return 0;
}