[Risolto][C++] Array-Posizioni dispari

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
vfabrisv94
Prode Principiante
Messaggi: 45
Iscrizione: sabato 7 marzo 2015, 15:42
Sesso: Maschile

[Risolto][C++] Array-Posizioni dispari

Messaggio da vfabrisv94 »

Raga come sempre in questi giorni provo a fare esercizi ma non me ne riescono nemmeno uno xD
Ecco il testo dell'esercizio:
Siano dati in ingresso da tastiera il riempimento n e gli elementi di un vettore di interi V1.
Si progetti una funzione COPIA che riceva in ingresso V1 ed n, e restituisca in un secondo vettore V2
gli elementi di posizione dispari del vettore V1. Nel main bisognerà leggere, con una opportuna funzione,
V1 ed n e bisognerà stampare con una opportuna funzione il vettore V2
Esempio:
Input:
n=7
V1= 1 3 4 5 7 8 9
Output:
V2= 3 5 8.

Ecco come ho fatto io

Codice: Seleziona tutto

#include<iostream>
using namespace std;
const int DIM=100;
int v1[DIM];
int v2[DIM];
int n;

void carica_vettore(int v1[DIM], int n){

do{
    cout << "Quanti elementi vuoi inserire ?"<<endl;
    cin>>n;
    if(n<0 || n>DIM)
    {
        cout << "Devi inserire un numero compreso tra1-"<<DIM<<endl;
    }
}while(n<0 || n>DIM);

for(int i=0; i<n; i++)
{
    cout << "Inserisci il "<<i+1<<" numero : ";
    cin>>v1[i];
}

cout << endl;



}

void copia_vett(int v1[DIM], int v2[DIM], int n)
{

    for(int j=0, i=0; i<n; i++)
    {
        if(i%2!=0)
        {
            v2[j]=v1[i];
            j++;
        }
    }


}

void stampa(int v1[DIM], int v2[DIM], int n){


    for(int i=0; i<n; i++)
    {
        cout << "v2="<<v2[i]<<"\t";
    }

}

int main(){

carica_vettore(v1,n);
copia_vett(v1,v2,n);
stampa(v1,v2,n);

}
Come mai riesco solo a caricare i vettori ? Le altre funzioni appena compilo è come se non ci sono.
Ultima modifica di vfabrisv94 il mercoledì 20 maggio 2015, 17:53, modificato 1 volta in totale.
Dahman
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1013
Iscrizione: mercoledì 31 ottobre 2007, 8:29
Località: Torino

Re: [C++] Array-Posizioni dispari

Messaggio da Dahman »

Come mai riesco solo a caricare i vettori ? Le altre funzioni appena compilo è come se non ci sono.
Perché la variabile n che usi é locale nella funzione di caricamento e quindi ha "senso" solo li.
Due soluzioni
1- usi una variabile globale (non mi piace)
2- dichiari n nella main e la passi alla funzione di caricamento per referenza

Codice: Seleziona tutto

void carica_vettore(int v1[DIM], int &n)
in questo modo manterrà il suo valore anche per le altre funzioni.

ciao
dahman
vfabrisv94
Prode Principiante
Messaggi: 45
Iscrizione: sabato 7 marzo 2015, 15:42
Sesso: Maschile

Re: [C++] Array-Posizioni dispari

Messaggio da vfabrisv94 »

Grazie mille della risposta :) adesso funziona !
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti