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

    [C++] Trasferire elementi da un array ad un altro

    Ciao a tutti, sto cercando di risolvere un problema che mi dice di trasferire gli elementi di un array (V) maggiori di un certo numero (alfa) in un altro array(W) e stamparne a video tutti i componenti del nuovo array (W) e il numero dei componenti...ho provato con un ciclo for ma mi blocco e non so come fare, ci sto sbattendo la testa da un'ora qualcuno di voi sa aiutarmi? Grazie..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per aiutarti a trovare gli errori del tuo codice bisogna vedere il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    ho provato una cosa del genere ma non va :|
    codice:
    q=1; SOM=0;
        for(i=1;i<=r;i++)
        {if(V[i]>somma)
           {W[q]=Vett[i];
            SOM=SOM+q;
            SOM++;}
            }
        cout<<"il riempimento di w: "<<SOM<<"\n";

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    1) Perché prima il vettore si chiama V e poi Vett ?

    2) Gli indici dei vettori devono cominciare da 0 (mi riferisco a i e q) e la for deve concludersi a r-1

    3) r deve essere il numero totale di elementi del primo vettore

    4) Cosa c'entra SOM? Non devi trovare la somma ma, come hai detto, solamente spostare i dati (a meno che non faccia parte del problema)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    1) errore mio di battitura nel ricopiarlo in fretta
    2) se inizia a 1 e metti <= considera anche l'ultimo elemento..a finale dovrebbe essere lo stesso no?
    3) sisi r è il numero totale degli elementi di V e quindi cn il for dovrebbe esaminare tutti gli elementi x vedere se sono maggiori di somma
    4) l'ho chiamato somma perchè l'ho ricavato da un'altra istruzione di somma..però il problema principale che non riesco a capire come copiare gli elementi di V maggiori di somma in W e come mandarli in stampa....non riesco a capire come fare :|

    edit: il som finale xkè in qualche modo volevo provare a sommare le volte che usciva un numero maggiore di somma...però evidentemente non sono riuscito nel mio intento xD nn andava il programma

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da killer922009
    2) se inizia a 1 e metti <= considera anche l'ultimo elemento..a finale dovrebbe essere lo stesso no?
    No ... deve iniziare da 0 e deve essere i<r

    3) sisi r è il numero totale degli elementi di V e quindi cn il for dovrebbe esaminare tutti gli elementi x vedere se sono maggiori di somma
    Hai detto all'inizio che dovevi controllare il valore con alfa. Quindi deve essere

    if(V[ i ]>alfa)

    Manca l'incremento di q dentro la if dopo W[q]=V[i]
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    quindi all'interno del ciclo for va inserito questo codice?

    codice:
    if(V[ i ]>alfa)
     { W[q]=V[i];
        q++; }
    e poi per mandarlo in stampa come posso fare?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi farlo dentro alla if con una printf prima dell'incremento oppure dopo la for con un'altra for con indice che va da 0 a q-1
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    si trova tutto, grazie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.