ciao a tutti,
ho questo piccolo programma che "dovrebbe" ordinare gli elementi di un vettore. Il programma viene compilato correttamente ma si blocca durante l'esecuzione al momento della chiamata alla funzione "ordinavet":
codice:
#include <iostream>
#include <cstdlib>
void leggi (int vet[], int &p);
void ordinavet (int vet[], const int &p);
void stampa (int vet[], int &p);
int main(int argc, char *argv[])
{
int vet[50], n;
n=0;
cout<<"Inserire la dimensione del vettore (MAX 50)\n";
cin>> n;
cout<<"Inserire gli elementi del vettore\n";
leggi(vet, n);
cout<<"VETTORE ORDINATO\n";
ordinavet(vet, n);
stampa(vet, n);
system("Pause");
return 0;
}
void leggi (int vet[], int &p)
{
int i;
for(i=0; i<p;i++)
{
cout<<"vet["<<i<<"]:";
cin>>vet[i];
}
}
void stampa (int vet[], int &p)
{
int i;
for(i=0; i<p;i++)
{
cout<<"vet["<<i<<"]:";
cout<<vet[i]<<"\n";
}
}
void ordinavet (int vet[], const int &p)
{
int i;
int temp;
int j;
j=0;
temp=0;
for (i=0; i<p-1; i++)
for (j=i+1; i<p; j++)
if (vet[i]<vet[i+1])
{
temp=vet[i+1];
vet[i+1]=vet[i];
vet[i]=temp;
}
}
dove sbaglio?
ciao!