Risultati da 1 a 8 di 8

Discussione: Programma C++ Vettori

  1. #1
    Il Nonno L'avatar di Dark_Devil
    Data Registrazione
    27-07-04
    Località
    Northrend
    Messaggi
    4,882

    Predefinito Programma C++ Vettori

    Ho iniziato da poco a fare i vettori in c++, finora ho risolto tutti i problemi che mi hanno assegnato però questo non sono riuscito a farlo tornare, è tutto la sera che ci provo ormai non ne esco più, qualkuno potrebbe postarmi il codice di una versione funzionante? Sempre usando istruzioni semplici come while, do while,for,if,else e con l'uso delle funzioni.

    Dato un vettore di N componenti, con N <=150, costruire due nuovi vettori: uno composto dalle componenti di POSTO paridel vettore dato, l'altro composto da quelle di POSTO dispari.


  2. #2
    Lo Zio L'avatar di flash
    Data Registrazione
    29-06-03
    Messaggi
    3,363

    Predefinito Re: Programma C++ Vettori

    Potresti far sì che il programma crei altri due vettori oltre a quello principale,uno di (N/2)+1 posti per le componenti pari,l'altro con con N/2 posti.
    Poi,potresti far sì che il programma scorra gli elementi del vettore utilizzato una variabile contatore i che aumenti di 1 ogni ciclo fino a che i non sia uguale a N,e li divida per 2;se il resto è 0,allora il programma potrebbe assegnare potrebbe assegnare il valore contenuto nella parte del vettore principale alla componenti di posto i/2 del vettore delle componenti pari;se il resto è diverso da 0,allora che le assegni alla componenti di posto (i-1)/2 del vettore delle componenti dispari.
    Ad esempio: i=0,e viene richiamata la componente di posto 0 del vettore principale,uguale a 0;questa viene divisa per due;il resto è 0;si divise dunque i per 2 e il risultato è 0;dunque la componente di posto 0 del vettore principale viene assegnata alla componente di posto 0 del vettore delle componenti pari.i=1;viene richiamata la componente di posto 1 del vettore principale,uguale a 1;questa viene divisa per due;il resto è 1,diverso da 0;si divide dunque i-1 per 2,e il risultato è 0;dunque la componente di posto 1 del vettore principale viene assegnata alla componente di posto 0 del vettore delle componenti dispari.

  3. #3
    Il Nonno L'avatar di Dark_Devil
    Data Registrazione
    27-07-04
    Località
    Northrend
    Messaggi
    4,882

    Predefinito Re: Programma C++ Vettori

    è proprio quello che ho fatto io, però non torna. TI posto il codice.

    #include <iostream.h>
    int vett[150];
    int vetta[150];
    int vettb[150];
    int pari();
    int dispari();
    int n,j=0,k=0,conta=0,conta2=0;

    int main()
    {
    cout<<"Inserisci la dimensione del vettore"<<endl;
    cin>>n;
    for (int i=0;i<n;i++)
    {
    cout<<"Inserisci un numero"<<endl;
    cin>>vett[i];
    }
    for (int i=0;i<n;i++)
    {
    if (vett[i]%2==0)
    {
    conta++;
    pari();
    }
    if (vett[i]%2!=0)
    {
    conta2++;
    dispari();
    }
    }
    cout<<"I componenti di posto pari sono "<<vett[j]<<endl;
    cout<<"I componenti di posto dispari sono "<<vett[k]<<endl;
    system ("pause");


    return 0;
    }
    int pari()
    {

    for (int i=0;i<conta;i++)
    {
    vetta[j]=vett[i];
    j++;
    }
    return 0;
    }
    int dispari()
    {

    for (int i=0;i<conta2;i++)
    {
    vettb[k]=vett[i];
    k++;
    }

    return 0;
    }

  4. #4
    Lo Zio L'avatar di flash
    Data Registrazione
    29-06-03
    Messaggi
    3,363

    Predefinito Re: Programma C++ Vettori

    Dark_Devil ha scritto sab, 18 marzo 2006 alle 07:03
    è proprio quello che ho fatto io, però non torna. TI posto il codice.

    #include <iostream.h>
    int vett[150];
    int vetta[150];
    int vettb[150];
    int pari();
    int dispari();
    int n,j=0,k=0,conta=0,conta2=0;

    int main()
    {
    cout<<"Inserisci la dimensione del vettore"<<endl;
    cin>>n;
    for (int i=0;i<n;i++)
    {
    cout<<"Inserisci un numero"<<endl;
    cin>>vett[i];
    }
    for (int i=0;i<n;i++)
    {
    if (vett[i]%2==0)
    {
    conta++;
    pari();
    }
    if (vett[i]%2!=0)
    {
    conta2++;
    dispari();
    }
    }
    cout<<"I componenti di posto pari sono "<<vett[j]<<endl;
    cout<<"I componenti di posto dispari sono "<<vett[k]<<endl;
    system ("pause");


    return 0;
    }
    int pari()
    {

    for (int i=0;i<conta;i++)
    {
    vetta[j]=vett[i];
    j++;
    }
    return 0;
    }
    int dispari()
    {

    for (int i=0;i<conta2;i++)
    {
    vettb[k]=vett[i];
    k++;
    }

    return 0;
    }
    Forse nel codice che hai postato le funzioni "pari" e "dispari" non sono strutturate benissimo.
    Dopo
    if (vett[i]%2==0)
    potresti inserire l'istruzione:
    vetta[j]=vett[i];
    e quindi
    j++;
    e dopo
    if (vett[i]%2!=0)
    dunque
    vettb[k]=vett[i];
    k++;

    Mi scuso nel caso questo suggerimento si riveli sbagliato .

  5. #5
    Scooterone mon amour L'avatar di Pongo
    Data Registrazione
    28-10-04
    Località
    Altrove
    Messaggi
    7,600

    Predefinito Re: Programma C++ Vettori

    C'è grossa Grisi!

    Array!= vector<TIPO>



  6. #6

    Predefinito Re: Programma C++ Vettori

    Dark_Devil ha scritto ven, 17 marzo 2006 alle 22:43

    uno composto dalle componenti di POSTO paridel vettore dato, l'altro composto da quelle di POSTO dispari.
    è
    i%2==0
    e non
    vett[i]%2==0
    ecc...
    e non serve contare nulla...

  7. #7
    Scooterone mon amour L'avatar di Pongo
    Data Registrazione
    28-10-04
    Località
    Altrove
    Messaggi
    7,600

    Predefinito Re: Programma C++ Vettori

    Frydon ha scritto sab, 18 marzo 2006 alle 19:11
    Dark_Devil ha scritto ven, 17 marzo 2006 alle 22:43

    uno composto dalle componenti di POSTO paridel vettore dato, l'altro composto da quelle di POSTO dispari.
    è
    i%2==0
    e non
    vett[i]%2==0
    ecc...
    e non serve contare nulla...



    E poi se effettivamente usi i vector, ma ne dubito, usi push_back e sei apposto.

    Se usi gli arrai o li allochi con la dim all'inizio o li fai dinamici.

    int* a

    e poi decidi la dimensione di a con una invocazione new int[dim].

  8. #8
    Il Nonno L'avatar di Dark_Devil
    Data Registrazione
    27-07-04
    Località
    Northrend
    Messaggi
    4,882

    Predefinito Re: Programma C++ Vettori

    Frydon ha scritto sab, 18 marzo 2006 alle 19:11
    Dark_Devil ha scritto ven, 17 marzo 2006 alle 22:43

    uno composto dalle componenti di POSTO paridel vettore dato, l'altro composto da quelle di POSTO dispari.
    è
    i%2==0
    e non
    vett[i]%2==0
    ecc...
    e non serve contare nulla...
    Me ne sono accorto dopo, facendo vett[i]%2 trovo il resto del numero dentro la posizione i e non della posizione stessa!


Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato