Originariamente inviato da Longo8
Infatti c'erano una marea di errori, a partire da variabili non dichiarate fino ad arrivare a funzioni inutili.
Ho "corretto" in questo modo. Sul pc mio funziona e ti restituisce il numero della riga della squadra che ha effettuato più vittorie. Cerca di migliorarlo inserendo il nome della squadra e, soprattutto stampando più di una squadra se ci sono due di esse che hanno effettuato uguale numero di vittorie.
codice:
#include <iostream>
using namespace std;
int piuvittorieincasa(char tabellone[][5], int dim){
int vittorie=0;
int max=0;
int squadra;
for(int i=0; i<dim; i++){
for(int j=0; j<dim; j++){
if(tabellone[i][j]=='1'){
vittorie++;
}
}
if(vittorie>max){
squadra=i+1; //ho inserito un '+1' in quanto il conteggio della variabile i parte da 0.
max=vittorie;
}
vittorie=0;
}
return(squadra);
}
int main(){
const int dim=5;
char tabellone[dim][dim]={{'-','2','0','1'},
{'1','-','2','2'},
{'0','-','1','2'},
{'0','1','1','-'}};
printf("%d \n", piuvittorieincasa(tabellone, dim));
system("pause");
return 0;
}
Ho potuto far restituire un intero alla funzione in quanto prendo il numero della riga della squadra che ha effettuato più vittorie in casa e lo stampo. Se ci fosse il nome o un carattere avrei dovuto dichiarare la funzione CHAR così come anche la variabile 'squadra' e stampare la variabile con %c e non %d.