View Single Post
Old 10-03-2011, 13:58   #1
skeleton
Member
 
L'Avatar di skeleton
 
Iscritto dal: Jul 2009
Messaggi: 81
[C++] Problemi Dichiarazione Array Come Variabili Globalu

Salve a tutti,
ho compilato questo programma allo scopo di ordinare un gruppo di dati immessi (nome-cognome atleti e il tempo della loro prestazione) in ordine crescente. Purtroppo quando vado a dichiarare le due array, una contenente il nome-cognome dell'atleta (è una matrice di tipo char), l'altra il tempo della prestazione di ogni singolo, come variabili globali Dev-C++ mi da errore ("variable-size type declared outside of any function").

Ecco il codice:
Codice:
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;

int MAX;
char atl[MAX][50];
double tempo[MAX];

void InserisciDati();
void Classifica();
void PubblicaClassifica();
void Scambia(char, char);

main(){
       cout<<"GARA DI CORSA CAMPESTRE\n\n\n";
       cout<<"Inserire Numero Partecipanti: ";
       cin>>MAX;
       InserisciDati();
       cout<<"GARA DI CORSA CAMPESTRE\n\n\nPartecipanti: "<<MAX;
       cout<<"Classifica Finale:";
       Classifica();
       PubblicaClassifica();
       getch();
}

void InserisciDati(){
     char testo1, testo2;
     for(int i=1; i<=MAX; i++){
                               cout<<"\n\nInserire Nome "<<i<<"° Classificato: ";
                               cin>>testo1;
                               cout<<"\nInserire Cognome "<<i<<"° Classificato: ";
                               cin>>testo2;
                               testo1 = testo1 + ' ' + testo2;
                               atl[i][50]=testo1;
                               cout<<"\nInserire Tempo: ";
                               cin>>tempo[i];
                               }
}

void Classifica(){
     for(int i=2; i<=MAX;i++)
             for (int j=1; j<=MAX;j++)
                 if (atl[j][50] < atl[i][50]) {
                                Scambia(atl[i][50], atl[j][50]);
                                }
}

void Scambia(char a, char b){
     char c;
     c=a;
     a=b;
     b=c;
}

void PubblicaClassifica(){
     for (int i=0; i<=MAX; i++)
                  (i=0) ? cout<<"Nome         Cognome         Tempo" : cout<<atl[i]<<"       "<<tempo[i];
}
Potreste aiutarmi a risolvere il problema?

Grazie a tutti.
skeleton è offline   Rispondi citando il messaggio o parte di esso