PROBLEMA Errore nella stampa di un array ordinato.

francescocerrato200

Nuovo Utente
98
8
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 Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
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
6,440
5,091
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
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili