Rieccomi qui , dopo un bel pò di codice scritt e riscirtto devo dire che faccio sempre più progressi con ic++, e sprero di arrivare presto alla parte della programmazione ad oggetti.. Intanto sono arrivato a studiare i vettori, ed avrei bisogno di un aiuto a proposito di un esercizio.
L'esercizio è banale, ho un vettore di dimensione n (con n inserito da tastiera) e devo inserie poi i numeri pari in vettore e i dispari in un altro vettore. L'esercizio in linea di massima funziona ma, stampa dei numeri strani oltre i valori richiesti.
Questo è il codice:
#include <cstdlib>
#include <iostream>
#define MAX 20
using namespace std;
void carica(int vet[], int n);
void stampa(int vet[], int n);
int npari (int vet[], int n, int vetpari[]);
void stampapari(int vetpari[], int n);
int ndisp(int vet[], int n, int vetdisp[]);
void stampadisp(int vetdisp[], int n);
int main(int argc, char** argv) {
int n, vet[MAX], vetpari[MAX], vetdisp[MAX];
cout<<"Dimensione del vettore: ";
cin>>n;
while(n<1 || n>MAX){
cout<<"Dimensione non valida. Reinserisci la dimensione: ";
cin>>n;
}
carica(vet, n);
stampa(vet, n);
npari(vet, n, vetpari);
stampapari(vetpari, n);
ndisp(vet, n, vetdisp);
stampadisp(vetdisp, n);
return 0;
}
void carica(int vet[], int n){
for(int x=0; x<n; x++){
cout<<"Inserisci l'elemento dell'array alla "<<x<<" posizione: ";
cin>>vet[x];
}
}
void stampa(int vet[], int n){
cout<<"Array={";
for(int i=0; i<n; i++){
cout<<vet[i]<<"; ";
}
cout<<"\b\b}"<<endl;;
}
int npari(int vet[], int n, int vetpari[]){
int pari=0;
for(int i=0; i<n; i++){
if(vet[i]%2==0){
vetpari[pari]=vet[i];
pari++;
}
}
}
void stampapari(int vetpari[], int n){
cout<<"Array Pari={";
for(int i=0; i<n; i++){
cout<<vetpari[i]<<"; ";
}
cout<<"\b\b}"<<endl;
}
int ndisp(int vet[], int n, int vetdisp[]){
int disp=0;
for(int i=0; i<n; i++){
if(vet[i]%2!=0){
vetdisp[disp]=vet[i];
disp++;
}
}
}
void stampadisp(int vetdisp[], int n){
cout<<"Array Dispari={";
for(int i=0; i<n; i++){
cout<<vetdisp[i]<<"; ";
}
cout<<"\b\b}"<<endl;
}
chi mi sa aiutare a risolvere il problema?