Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2011, 18:12   #1
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
[C++] verifiche e manipolazioni in un array bidimensionale

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..
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2011, 21:03   #2
ConRoe
Senior Member
 
L'Avatar di ConRoe
 
Iscritto dal: Dec 2006
Messaggi: 414
Premetto che ho buttato velocemente l'occhio al codice quindi potrebbe esserci anche qualche errore sintattico da qualche parte ma la cosa che mi salta all'occhio è che hai dichiarato due funzioni, main() a parte, dove piuvittorieincasa() chiama verifica() ma quando viene chiamata piuvittorieincasa() ???
__________________

Concluso positivamente con: 2fst4rc, guns81, fernando59, Kewell, Guidoch, coontrol86, Holly_GR, siemens, WildCat Hendrix, Thommy_Yorke, davidep85, fabiannit, semmy83, TheDoctor1983, uazzamerican

"Un androide è per sempre"

Ultima modifica di ConRoe : 13-11-2011 alle 21:07.
ConRoe è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2011, 23:55   #3
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
Quote:
Originariamente inviato da ConRoe Guarda i messaggi
Premetto che ho buttato velocemente l'occhio al codice quindi potrebbe esserci anche qualche errore sintattico da qualche parte ma la cosa che mi salta all'occhio è che hai dichiarato due funzioni, main() a parte, dove piuvittorieincasa() chiama verifica() ma quando viene chiamata piuvittorieincasa() ???
mannaggia!ecco il mìo solito errore di distrazione!la chiamo da main()!
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2011, 02:12   #4
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
la terza riga della matrice e' identica alla seconda, penso un errore di copia e incolla...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2011, 10:27   #5
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
Quote:
Originariamente inviato da marco.r Guarda i messaggi
la terza riga della matrice e' identica alla seconda, penso un errore di copia e incolla...
si! mi sono accorto ora! la matrice giusta è quella dello schema nella traccia.
mistergks è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v