Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    15

    sottoprogramma c++ vettori

    ciao a tutti ho un problema con questo programma , alla fine invece di stampare il vettore B mi stampa quello A. penso che dovrei effettuare uno scambio per riferimento ma se metto la & davanti al vettore mi da errore. grazie in anticipo a tutti
    Codice PHP:
    // inserire un vettore e generare un nuovo vettore dove gli elementi pari del vettore precedente diventeranno 0
    // A[1 2 3 4 5]-----> B=[1 0 3 0 5]


    #include <iostream>
    #include <stdlib.h>
    using namespace std;
    #define dim 100


    void leggi (int [],int&);
    void sostituisci (int [],int& , int []);
    void stampa (int [],int&);


    int main()
    {
       
    int A[dim],N,B[dim];
       
    leggi (A,N);
       
    sostituisci (A,N,B);
       
    stampa (A,N); 
       
       
    system("PAUSE");
       return 
    0;
    }


    void leggi (int A[],intN){
         
    cout<<"INSERIRE IL RIEMPIMENTO"<<endl;
         
    cout<<"RIEMPIMENTO ="cin>>N;
         
    cout<<"INSERIRE IL VETTORE A"<<endl;
         for(
    int i=0;i<N;i++){
                 
    cout<<"ELEMENTO A["<<i<<"]="cin>>A[i];
                 
                 }
         }


    void sostituisci (int A[],intNint B[]){
         
    int j=0;
         for(
    int i=0;i<N;i++){
                 if (
    A[i]%2==0){
                                
    B[j]=0;
                                
    j++;}
                 }
         }




    void stampa (int B[],intN){
         for(
    int j=0;j<N;j++){
                 
    cout<<B[j];
         }


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Se il tuo output lo memorizzi nel vettore B perchè nel metodo stampa del main gli passi il vettore A?

    Dovresti fare stampa (B, N)...

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Stampa A perché stai stampando A (nel main)
    A parte che non ho capito l'utilità di fare un vettore di soli 0 con tanti posizioni quanti sono i numeri pari in un altro vettore, stai attento che alla fine B non avrà dimensione N e non stai salvando da nessuna parte la sua dimensione.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    15
    grazie mille a tutti
    adesso funziona.
    ho sostituito in stampa B e ho messo un else (B[j]=A[i]; j++ nel sottoprogramma sostituisci.

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    j non serve, è uguale a i.

    Prego
    "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.