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

Typ fukcji, a return.

Ostatnio zmodyfikowano 2016-01-30 14:26
Autor Wiadomość
pekfos
» 2016-01-29 11:02:38
To nie jest odpowiedź na pytanie, jakie wartości mają te pola w konkretnej zmiennej.

a funkcja liczba_razy() jakby nie działała.
To liczenie 1/wyznacznik nie działa. Operujesz na niewłaściwych typach danych i wynik jest zawsze całkowity.
P-144130
Dan2ra
Temat założony przez niniejszego użytkownika
» 2016-01-29 16:27:23
Nie bardzo rozumiem to zdanie:

To nie jest odpowiedź na pytanie, jakie wartości mają te pola w konkretnej zmiennej.

Czyli nie mogę dzielić i wykonywać innych operacji matematycznych na różnych typach danych (w tym przypadku int/float)? Zmieniłem typ danych przy liczeniu wyznacznika w ten sposób:

C/C++
float wyz;
float a;

wyz = wyznacznik3x3( D );
a = 1 / wyz;
D = dop( D );
D = trans( D );
D = liczba_razy( D, a );
wypisz( D );

Program zaczął coś liczyć, ale pokazuję głupoty.

Przepraszam za być może tak banalne pytania, ale mam z C++ styczność od niedawna.
P-144137
pekfos
» 2016-01-29 17:21:57
Czyli nie mogę dzielić i wykonywać innych operacji matematycznych na różnych typach danych (w tym przypadku int/float)?
Możesz.

Nie bardzo rozumiem to zdanie:
To nie jest odpowiedź na pytanie, jakie wartości mają te pola w konkretnej zmiennej.
w macierzy B ile wynoszą kolumny i wiersze?
C/C++
macierz B;


for( int i = 0; i < A.kolumny; i++ ) {
    for( int j = 0; j < A.wiersze; j++ ) {
        B.wsp[ i ][ j ] = liczba * A.wsp[ i ][ j ];
    }
}
// B.kolumny? B.wiersze? To nie jest nigdzie ustawione
return B;
Od pewnego stopnia niezrozumienia, dialog przestaje mieć sens.

Program zaczął coś liczyć, ale pokazuję głupoty.
Pokazujesz głupoty, a co pokazuje program..?
P-144138
Dan2ra
Temat założony przez niniejszego użytkownika
» 2016-01-29 20:21:20
Nie bardzo rozumiem po co definiowanie wartości
B.kolumny i B.wiersze
 skoro ze
struct macierz B
 używam tylko
float wsp[ 10 ][ 10 ]
 jako "pomocniczej" macierzy do zapisania wyniku mnożenia liczby przez macierz.

Program pokazuję wartości typu 0.34354646 itp. Problem chyba jednak jest nie w funkcji liczącej, lecz w wartości wyznacznika jaka do funkcji przychodzi. Podstawiłem na sztywno wyznacznik, o tutaj:

C/C++
int main()

//--------

case 5
:
{
    // A=wczytaj();
    B = wczytaj();
    C = wczytaj();
    D = roznica( C, B );
    float wyz;
    float a;
   
    wyz = wyznacznik3x3( D );
    //a=1/wyz;
    a = 0.2; // TUTAJ ZAMIAST TEGO OBLICZENIA LINIJKĘ WYŻEJ
    D = dop( D );
    D = trans( D );
    D = liczba_razy( D, a );
    wypisz( D );
    //cout<<wyz;
   
    break;
}

i program policzył dobrze. Definicja macierzy odwrotnej mówi: weź 1/wyznacznik macierzy wyjściowej * transponowana macierz dopełnień macierzy wyjściowej = macierz odwrotna tej macierzy.

Jak dobrze zaimplementować jeden/wyznacznik?

edit:

Wiem, gdzie był błąd... Błędem byłem ja... Z czasem zacząłem wpisywać inną macierz do obliczeń niż chciałem, gdzie wyznacznik z niej wychodził 15 stąd takie kosmiczne wyniki. 1/15 = 0.66666667 razy każdy element macierzy...

Swoją drogą, jak zmusić program do zaokrąglania określonej liczby miejsc po przecinku??
P-144145
carlosmay
» 2016-01-30 01:12:27
Swoją drogą, jak zmusić program do zaokrąglania określonej liczby miejsc po przecinku??
Mało precyzyjne pytanie.

Domysł pierwszy:
Zaokrąglanie liczb
Domysł drugi:
Obsługa strumienia - szukaj precision() lub manipulatora setprecision().
P-144162
Dan2ra
Temat założony przez niniejszego użytkownika
» 2016-01-30 14:26:11
Dziękuję za informację i pomoc. Temat do zamknięcia.
P-144171
1 2 « 3 »
Poprzednia strona Strona 3 z 3