Dunque, sto provando a creare un programma che dato un vettore (e il suo riempimento) in ingresso, me lo ordini in questo modo:
- cerca il minimo nell’elenco di interi costituito dagli n elementi del vettore di n
- scambia di posizione l’elemento di posto 0 con l’elemento minimo
- cerca il minimo nel sottoelenco costituito dagli n-1 elementi del vettore dalla posizione 1 sino alla posizione n-1
- scambia di posizione l’elemento di posto 1 con l’elemento minimo
- cerca il minimo nel sottoelenco costituito dagli n-2 elementi del vettore dalla posizione 2 sino alla posizione n-1
- scambia di posizione l’elemento di posto 2 con l’elemento minimo
- procede così finchè nel sottoelenco c’è più di un elemento
Sapete dirmi dove sbaglio?#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n, i, c, j, k;
int V[n];
int min;
cout<<"\n Inserire il riempimento: ";
cin>>n;
for (i=1; i<=n; i++){
cout<<"\n V["<<i<<"]=";
cin>>V[i];
}
for (i=1; i<n; i++){ // inizio i
min=V[i];
for (j=2; j<=n; j++){ // inizio j
if (V[j]<min){
V[j]=min;
k=j;
}
} // fine j
c=V[i];
V[i]=V[k];
V[k]=c;
} // fine i
for(i=1;i<=n;i++)
cout<<"\n "<<V[i];
system("PAUSE");
return EXIT_SUCCESS;
}