C++ Esercizio su Array

Genny95
Salve a tutti, ho delle difficoltà col un esercizio in c++ e mi chiedevo se qualcuno potesse aiutarmi. l'esercizio è:
Dato un vettore di N interi inizializzati da tastiera determinare il valore massimo e stamparlo a video.
Ho iniziato così l'esercizio:
#include
using namespace std;

int main()
{
int N;
do
{
cout<<"Decidi la cardinalità dell'array: ";
cin>>N;
} while(N<=0);
int Vet [N];
int i;
for(i=1; i<=N; i++)
{
cout<<"Inserisci i valori del vettore: ";
cin>> Vet;
}
for(i=0; i {
cout<<"il vettore inserito e: "<< }

}

Ora fino a qui nessun problema. La mia difficolta ora è fare il massimo tra i valore dell'array, il problema e che non so come "accedere all'array". Ho anche fatto un programma che calcolasse il massimo tra n numeri (ed mi è venuto corretto) ma non lo riesco ad implementare a questo.

Risposte
DeltaEpsilon
Prima di tutto, racchiudi il tuo codice all'interno dei tag appositi



Poi, avete studiato l'allocazione dinamica? Se si, non dovresti allocare così il tuo array, dato che la dimensione è nota a runtime.

Nel ciclo for in cui dici all'utente di inserire gli elementi del vettore, fai partire il tuo indice $i$ da $1$ invece che da $0$... in questo modo avrai che il primo elemento non verrà mai inizializzato.

Inoltre, fai arrivare l'indice a $i = N$, quando invece l'ultimo elemento dell'array risiede nella posizione $N-1$

Il secondo for, invece, è corretto.

Per trovare il massimo, prova a tenere conto man mano, tramite una variabile, chi è il "massimo sin qui trovato". Ogni volta che ne trovi uno più grande, aggiorni quella variabile. :wink:

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.