Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z funkcją i klasą.

Ostatnio zmodyfikowano 2009-10-17 12:45
Autor Wiadomość
Patzick
Temat założony przez niniejszego użytkownika
Problem z funkcją i klasą.
» 2009-10-17 11:01:11
Cześć
mam problem z kodem. W funkcji wszystko wylicza mi fajnie ale w rezultacie powstają liczby znikąd :P Przedstawię to w kodzie
C/C++
const int max_ilosc_wierzcholkow = 10;

class Obiekt {
public:
    int ilosc_wierzcholkow;
    int wierzcholek_x[ max_ilosc_wierzcholkow ];
    int wierzcholek_y[ max_ilosc_wierzcholkow ];
    int a[ max_ilosc_wierzcholkow ];
    int b[ max_ilosc_wierzcholkow ];
    int c[ max_ilosc_wierzcholkow ];
};
void wyznacz_proste( Obiekt O ) {
    for( int i = 0; i < O.ilosc_wierzcholkow; i++ ) {
        int j;
        if( i == O.ilosc_wierzcholkow - 1 ) { j = 0; } else { j = i + 1; };
       
        O.a[ i ] = O.wierzcholek_y[ i ] - O.wierzcholek_y[ j ];
        O.b[ i ] = O.wierzcholek_x[ j ] - O.wierzcholek_x[ i ];
        O.c[ i ] = O.wierzcholek_x[ i ] * O.wierzcholek_y[ j ] - O.wierzcholek_y[ i ] * O.wierzcholek_x[ j ];
        //w tym miejscu obliczenia dla a,b i c się zgadzają
        allegro_message( "a=%d b=%d c=%d", O.a[ i ], O.b[ i ], O.c[ i ] );
    }; //for
}

//potem mam deklarację
Obiekt pierwszy;
//wpisuję do niego wszystkie dane i chcę wyznaczyć proste

wyznacz_proste( pierwszy );
//powinno być ok ale powstają dziwne liczby, które nie zgadzają się z tymi z funkcji
allegro_message( "a=%d b=%d c=%d", pierwszy.a[ 0 ], pierwszy.b[ 0 ], pierwszy.c[ 0 ] );
Pewnie robię jakiś głupi błąd ale nie mogę go wyłapać :( Chcę, żeby wartości z funkcji zapisywały się do obiektu dla którego chcę to wyliczyć
P-10941
malan
» 2009-10-17 12:24:59
Spróbuj przesłać(Obiekt) 'O' przez referencję.
P-10942
DejaVu
» 2009-10-17 12:42:20
Więcej informacji na ten temat pod adresem: http://kursy.ddt.pl/?LessonId=311
P-10945
Patzick
Temat założony przez niniejszego użytkownika
» 2009-10-17 12:45:26
Wielkie dzięki :)
P-10946
« 1 »
  Strona 1 z 1