ho fatto questo esercizio:
La figura seguente mostra un esempio di tabellone per un torneo in cui sono coinvolte 4 squadre:
codice:
S1 S2 S3 S4
S1 - 2 0 1
S2 1 - 2 2
S3 1 1 - 2
S4 0 0 1 -
Secondo il tabellone, quando la squadra s1 ha giocato in casa, ha vinto contro s4, pareggiato contro s3 e perso contro s2. Nelle partite in cui la squadra s4 ha giocato fuori casa, ha perso contro s1 e vinto contro s2 ed s3. Sulla diagonale principale sono presenti dei trattini ad indicare che non è previsto che una squadra giochi contro se stessa.
Quindi, 1 se la squadra in casa(righe) ha vinto, 2 se ha perso e 0 se ha pareggiato.
Si vuole la squadra con il maggior numero di vittorie in casa* (nell’esempio precedente, è la squadra s3 che ha due vittorie in casa).
Ecco il mio codice:
codice:
#include <iostream>
using namespace std;
void piuvittorieincasa(char tabellone[][], int dim, int vittorie[]);
int verifica(int vittorie[], int dim);
int main(){
const int dim=5;
char tabellone[dim][dim]={{'-','2','0','1'},
{'1','-','2','2'},
{'1','-','2','2'},
{'0','0','1','-'}};
int vittorie[dim]={0};
system("pause");
return 0;
}
void piuvittorieincasa(char tabellone[][], int dim, int vittorie[]){
for(int i=0; i<dim; i++){
for(int j=0; j<dim; j++){
if(tabellone[i][j]=='1')
++vittorie[i];
verifica(vittorie, dim);
}
}
}
int verifica(int vittorie[], int dim){
int pos=1;
for(int i=0; i<dim; i++){
if(vittorie[i]>max){
max=vittorie[i];
pos=i;
}
}
}
cosa c'è che non va? Il programma non mi compila e penso ci sia qualche problema sull'array bidimensionale..magari devo immaginare una diversa struttura? Ho scelto di fare una matrice di char per mettere anche il trattino! Altrimenti avrei fatto una matrice di interi..