Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152

    [c++] Chiedo aiuto

    Salve a tutti, ho un problema.
    Non riesco a capire perchč il codice seguente, che effettua una somma di un valore double ad ogni componente di un array(metodo Add), non funziona. Chiedo aiuto
    Grazie.


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <iostream.h>

    class MYCLASS
    {
    private:
    double *mioarray;
    int c;
    int d;

    public:
    MYCLASS()
    {c = 0;
    d = 0;
    mioarray = 0x00;}

    MYCLASS(int nc, int nr)
    {d = nc;
    c = nr;
    mioarray = new double[d*c];}

    // Genero un costruttore di copia
    MYCLASS(const MYCLASS &ris)
    {d = ris.d;
    c = ris.c;
    mioarray = new double[d*c];
    int total = d * c;
    for (int i=0;i<total;i++){Set(i,Get(i));}
    }


    MYCLASS Add(MYCLASS ris, double cosB)
    {MYCLASS *risultato = new MYCLASS(ris.d,ris.c);
    int num_pos = (risultato->d) * (risultato->c);
    double Val;
    double cosA;
    for (int i=0;i<num_pos;i++)
    {
    cosA = ris.Get(i);
    Val = cosA + cosB;
    risultato->Set(i,Val);}

    return *risultato;
    }


    double Get(int i) { return mioarray[i]; }
    double Get(int i, int j) { return mioarray[i * d + j]; }
    void Set(int i, double Val) { mioarray[i] = Val; }
    void Set(int i, int j, double Val) { mioarray[i * d + j] = Val; }

    };

    void main()
    {
    MYCLASS *prova = new MYCLASS(2,2);
    MYCLASS *prova1 = new MYCLASS(2,2);
    double a = 1.00;

    prova->Set(0,0,3.22);
    prova->Set(0,1,5.60);
    prova->Set(1,0,11.55);
    prova->Set(1,1,12.32);
    prova1->Add(*prova,a);
    }
    andry80

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781

    Re: [c++] Chiedo aiuto

    un po' generico come titolo
    per questa volta modifico la discussione ma ti invito nuovamente a leggere il nostro regolamento
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152
    Potrebbe dipendere dal costruttore di copia???
    andry80

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    152
    Provando ad eliminare, all'interno del metodo Add, la riga:

    return *risultato;

    e facendo un semplice:

    cout << risultato->mioarray[0] << endl;
    cout << risultato->mioarray[1] << endl;


    in output verrā visualizzato come risultato:
    1
    1

    come se sommasse a ad una matrice di valori nulli.
    Nessuno mi vuole dare una mano?
    andry80

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.