PROBLEMA Errore nella stampa di un array ordinato.

Salve ragazzi, sto studiando in c++ gli array e quindi come ordinarli.. Di consequenza guardando un pò su internet e un pò sul libro sono riuscito a comprendere e creare un piccolo programmino semplice grazie al quale posso ordinare in modo crescente un array. Putroppo al momento della stampa di questo, si blocca e si chiude la schermata.

Questo è il programma in questione:

#include<iostream>
using namespace std;
main()
{
int i,j,n,q;
cout<<"Da quante caselle è formato il vettore? ";
cin>>n;
int V[n];
for(i=0;i<n;i++)
{
cout<<"Inserire il numero nella casella "<<i<<" : "<<endl;
cin>>V;
}
for(i=0;i<n-1;i++)
{
for(j=i+1;i<n;j++)
{
if(V>V[j])
{
q=V;
V=V[j];
V[j]=q;
}
}
}
cout<<V[0]<<endl;
cout<<V[1]<<endl;
}


So che per la stampa avrei potuto inserire un ciclo, come in effetti ho fatto in precedenza, tuttavia qui ho voluto inserire solamente la stampa di questi 2 numeri per rendere più facile da capire il problema...

Questo quindi è il video di quello che accade:

 

rodhellas

Utente Attivo
1,470
395
Hardware Utente
CPU
Intel i5 3470
Scheda Madre
AsRock H77 pro4/mvp
Hard Disk
120GB SSD + 1TB HD
RAM
12GB Corsair XMS3 1333mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Thermaltake Commander Ms-i Snow Edition
Sistema Operativo
Windows 10 64bit
Ovunque ci sia solo V deve essere invece V[ i ]. Nel for interno è j < n, non i < n;
 
Ultima modifica:

Andretti60

Utente Èlite
3,418
2,295
Hardware Utente
Per favore usa il tag CODE per pubblicare il codice.

V è un vettore, quindi per accedere ai suoi elementi devi specificare l’indice con la parentesi quadra. Hai scritto istruzione come
C:
if (V > V[j])
Che sono completamente sbagliate
 

Entra

oppure Accedi utilizzando