Devo calcolare il massimo di un vettore. Il problema è che quando scrivo il procedimento il programma non parte, mentre se tolgo solo la parte relativa al calcolo del massimo, il programma parte. Qualcuno può spiegarmi il motivo?
/*
Scrivere un programma che effettui le seguenti operazioni:
1. legge una sequenza di N numeri interi. Il valore N è inserito dall'utente. I numeri sono memorizzati in un vettore V1
2. visualizza il vettore V1
3. esegue uno spostamento (shift) a sinistra di una posizione del contenuto del vettore ovvero ogni elemento del vettore deve assumere il valore dell'elemento immediatamente successivo all'interno del vettore. L'elemento di indice N-1 deve assumere il valore zero.
Ad esempio dato il vettore V1: 1 10 15 18
Il programma deve generare il vettore V1: 10 15 18 0
4. visualizza il vettore V1 ottenuto
5. esegue uno spostamento (shift) a destra di una posizione del contenuto del vettore V1 ottenuto nel passo precedente. Ogni elemento del vettore deve assumere il valore dell'elemento immediatamente precedente all'interno del vettore e l'elemento di indice 0 deve assumere il valore zero.
Ad esempio dato il vettore V1: 10 15 18 0
Il programma deve generare il vettore V1: 0 10 15 18
6. visualizza il vettore V1 ottenuto
7. calcola il massimo in V1
*/
#include <iostream>
using namespace std;
void shift_sinistra (int n, int v[]){
for (int i=0 ; i<n-1; i++){
v[i]=v[i+1];}
v[n-1]=0;}
void shift_destra (int n, int v[]){
for (int i=n-1; i>0; i--){
v[i]=v[i-1];}
v[0]=0;}
int main () {
int n;
int v[n];
int massimo;
//Prende valori
cout<<"inserisci il vettore di n elementi"<<endl;
cin>>n;
//Inserimento valori nel vettore
for (int i=0; i<n; i++){
cout<<"Inserisci il prossimo numero: ";
cin>>v[i];}
cout<<"Il vettore e': [ ";
//visualizzazione vettore
for (int i=0; i<n; i++){
cout<<v[i]<<" ";
}
cout<<"]"<<endl;
//calcolo massimo
massimo=v[0];
for (int i=1; i<n; i++){
if (massimo<v[i]){
massimo=v[i];
}
} cout<<"il massimo e': "<<massimo<<endl;
shift_sinistra(n, v);
cout<<"il vettore con shift a sinistra e': ";
for (int i=0; i<n; i++){
cout<<v[i]<<" ";
}
cout<<"]"<<endl;
shift_destra(n, v);
cout<<"il vettore con shift a destra e':[ ";
for (int i=0; i<n; i++){
cout<<v[i]<<" ";
}
cout<<"]"<<endl;
system ("pause");
return 0;
}