Programma stupidissimo in C.

giuscri
Cosa c'è di sbagliato in questo programma? Non riesco a compilarlo, ma spero sia un problema che non dipende da me. Ho rincontrollato, ma non riesco a trovare nessun errore. Il file "dati.dat" esiste ed è una stringa di numeri su un'unica riga. Il primo è 5, il numero di elementi, gli altri 5 successivi sono le componenti del vettore v[].

#include <iostream>
#include <fstream>
using namespace std;
int main(){
 int v[500],N;
 ifstream input;
 ofstream output;
 
 input.open("dati.dat");
 output.open("risultato.dat");

 input >> N;

 for(int m=0,m<N,m++) input >> v[m];
 
 cout<<"Vettore non ordinato [ ";
  for(int m=0,m<N,m++) cout<<v[m]<<" ";
 cout<<" ]"<<endl;

 //Ordinamento senza funzione:
 int c;
 for(int i=0,i<N,i++)
  for(int j=i+1,j<N+1,j++)
 if(v[i]>v[j]){
 c=v[i];
 v[i]=v[j];
 v[j]=c;
 }
 //Vettore ordinato:

 for(int u=0,u<N,u++) cout<<v<<" ";

return 0;

}


Vi ringrazio! :)

Risposte
ramy1989
Il problema è che separi i campi dei for con una virgola invece che con un punto e virgola.

apatriarca
Prima di tutto, questo è C++ e non C (se fosse in C praticamente tutto il codice sarebbe sbagliato). Sono due linguaggi differenti. Inoltre è decisamente raro che il problema sia del compilatore, è molto più probabile che l'errore sia nel tuo codice (anche se non lo trovi). In particolare:
for(int m=0,m<N,m++)

questo non è il modo corretto di scrivere un ciclo for. Le parti del ciclo devono infatti essere separate da punti e virgola e non da virgole. Per cui quel ciclo deve diventare
for(int m=0; m<N; m++)

giuscri
Fantastico! Vi ringrazio molto. :)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.