Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C++] Dato un vettore, copiare i suoi elementi pari in un primo vettore e gli elementi dispari in un secondo

    Salve, sono un nuovo utente di questo forum, perdonatemi se non scrivo nella giusta sezione..

    //QUESTO E' IL PROGRAMMA
    /* Dato un vettore di interi,
    produrre due nuovi vettori contenenti gli elementi pari e gli elementi dispari del vettore di partenza*/

    #include<iostream>
    using namespace std;

    void InputNumerosita (int &n)
    {
    cout<<"Quanti numeri vuoi inserire? ";
    cin>>n;
    while(n<0)
    {
    cout<<"Errore ridigita";
    cin>>n;
    };
    }

    void InputVettore (int v[], int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    cout<<"Inserisci il " << i+1 << " ^ valore del vettore: ";
    cin>>v[i];
    };
    }

    void PariDispari (int v[], int n, int p[], int d[],int &pp, int &dd)
    {
    int i,M;
    pp=0;
    dd=0;
    for(i=0;i<n;i++)
    {
    M=v[i]%2;
    if (M==0)
    {
    p[i]=v[i];
    pp=pp+1;
    };
    if (M!=0)
    {
    d[i]=v[i];
    dd=dd+1;
    };
    };
    }

    void VisuaVettoreDispari (int dd, int d[])
    {
    int i;
    cout<<"I nuovi valori del vettore dispari sono: "<<endl;
    for(i=0;i<dd;i++)
    {
    cout<<d[i]<<endl;
    };
    }

    void VisuaVettorePari (int pp, int p[])
    {
    int i;
    cout<<"I nuovi valori del vettore pari sono: "<<endl;
    for(i=0;i<pp;i++)
    {
    cout<<p[i]<<endl;
    };
    }



    main()
    {
    const int DIM=100;
    int v[DIM],d[DIM],p[DIM];
    int dd,pp,n;
    InputNumerosita(n);
    InputVettore(v,n);
    PariDispari(v,n,p,d,pp,dd);
    VisuaVettoreDispari(dd,d);
    VisuaVettorePari(pp,p);
    return 0;
    }

    //FINE PROGRAMMA

    Il programma funziona, tuttavia nel visualizzare il vettore dispari e quello pari riscontro dei problemi!

    HTML.IT FORUM.jpg

    Vedete? Non riesco a risolvere il problema, qualcuno può aiutarmi?

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da MOSKITO63 Visualizza il messaggio
    perdonatemi se non scrivo nella giusta sezione..
    ciao e benvenuto,
    sposto nella sezione corretta: programmazione.

    ricorda anche di usare sempre il tag CODE per postare codice sul forum, grazie
    (vedi, in modalità avanzata, il tasto #)

    buon lavoro

  3. #3
    Grazie mille e scusa, comunque ho risolto il problema, durante le due procedure di visualizzazione dovevo mettere
    for(i=0;i<n;i++)
    {
    ...

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Hai modificato il punto sbagliato, sbagli nell'inserimento dei valori nei vettori pari e dispari, non nella visualizzazione
    Inoltre non ha senso creare due funzioni diverse, ma identiche, per la visualizzazione. Aggiungi come parametro la stringa da stampare e creane una sola.
    Ultima modifica di Scara95; 20-08-2016 a 03:02
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    Potresti mostrarmi come inserire i valori nei vettori pari e dispari? grazie comunque!

  6. #6
    void VisuaVettorePari (int pp, int p[], int n)
    {
    int i;
    cout<<"I nuovi valori del vettore pari sono: "<<endl;
    for(i=0;i<n;i++)
    {
    if (p[i]!=0) //HO RISOLTO FACENDO QUESTO CONTROLLO
    {
    cout<<p[i]<<endl;
    };
    };
    }

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    p[pp]=v[i]
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.