Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2018
    Messaggi
    3

    [C++] Matrice e vettore in uscita

    Ciao a tutti!
    Devo realizzare questa funzione: funzione che memorizzi in un vettore di uscita gli elementi pari della matrice.
    Ho già scritto il codice ma purtroppo quando vado a stampare a video il vettore questo mi viene riempito da tutti 0 (la dimensione del vettore è corretta)

    codice:
    void estrai_pari(Matrice A, int nr, int nc, Vettore pari, int& k)
    {
        k=0;
        for(int i=0;i<nr;i++)
        {
            for (int j=0;j<nc;j++)
            {
                if(A[i][j]%2==0)
                {
                    pari[k]=A[i][j];
                    k++;
                }        
            }        
        }
    }

    Grazie
    Ultima modifica di LeleFT; 19-06-2018 a 09:07 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Usa i tag code per il codice

    Cosa é Vettore? Come chiami la funzione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2018
    Messaggi
    3
    Matrice e vettore sono dei typedef. Io programma non mi da nessun errore, credo sia sbagliata la parte in cui assegno i valori della matrice al vettore.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Puoi mostrare i typedef e il codice del main di chiamata della funzione e presentazione dei risultati?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2018
    Messaggi
    3
    code :
    using namespace std;

    #include<iostream>
    #include<cstdlib>
    #include<ctime>
    #define DIMR 10
    #define DIMC 10


    typedef int Matrice[DIMR][DIMR];
    typedef int Vettore[DIMR];


    // Prototipi delle funzioni sviluppate
    void stampa(Matrice A, int nr, int nc);
    void estrai_pari(Matrice A, int nr, int nc, Vettore pari, int& k);
    void output_vet (Vettore v, int dim);




    // Funzione stampa
    void stampa(Matrice A, int nr, int nc) {
    int i,j;
    for (i=0;i<nr;i++) {
    cout<<endl;
    for(j=0;j<nc;j++) cout<<A[i][j]<<"\t";
    }
    cout<<endl;
    }




    /*funzione che memorizzi in due vettori di uscita gli elementi pari della matrice
    void estrai_pari(Matrice A, int nr, int nc, Vettore pari, int& k)
    {
    k=0;
    for(int i=0;i<nr;i++)
    {
    for (int j=0;j<nc;j++)
    {
    if(A[i][j]%2==0)
    {
    pari[k]=A[i][j];
    k++;
    }
    }
    }
    }




    void output_vet (Vettore v, int dim)
    {
    for (int i=0;i<dim;i++)
    {
    cout<<v[dim]<<" ";
    }
    }


    int main(){
    int nr,nc,k,m,max;
    Matrice A;
    Vettore pari;
    srand(time(NULL));
    cout<<"\t Elaborazione di un'IMMAGINE BIOMEDICALE \t"<<endl<<endl;
    cout<<"Generazione random della Matrice di Interi..."<<endl<<endl;
    system("PAUSE");
    // Generazione random della matrice
    cout<<endl;
    nr=(rand()%8)+2;
    nc=(rand()%8)+2;
    cout<<"Numero di righe della Matrice: "<<nr<<endl;
    cout<<"Numero di colonne della Matrice: "<<nc<<endl;
    for (int i=0;i<nr;i++)
    for(int j=0;j<nc;j++) A[i][j]=rand()%256;
    cout<<"Matrice generata:"<<endl<<endl;
    stampa(A,nr,nc);
    system("PAUSE");


    estrai_pari(A,nr,nc,pari,k);
    cout<<"Vettore costituito dagli elementi pari della matrice:"<<endl;
    output_vet (pari,k);
    cout<<endl;

    system("PAUSE");
    return 0;
    }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Questa linea

    cout<<v[dim]<<" ";

    è sbagliata, come è sbagliata anche questa linea

    typedef int Vettore[DIMR];

    Vedi tu perchè

    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    @GiuliS: quando posti del codice, inseriscilo all'interno degli appositi tag CODE (c'è il pulsante '#' nell'editor che li inserisce automaticamente).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.