[C++] Błąd we wprowadzaniu zmiennych do tablicy n x n
Ostatnio zmodyfikowano 2014-06-25 10:29
kamilpl1994 Temat założony przez niniejszego użytkownika |
[C++] Błąd we wprowadzaniu zmiennych do tablicy n x n » 2014-06-25 09:52:32 A więc drugi dzisiejszy problem. Mam następujący kod : #include<iostream> #include<iomanip> #include<cstring>
using namespace std;
class Wyznacznik { public: int n, i, j; int * Wsk; double ** Macierz; public: void Wprowadz_dane() { cout << fixed << setprecision( 4 ); cout << "Podaj stopien macierzy\n"; cin >> n; cout << endl; Macierz = new double *[ n ]; for( i = 0; i < n; i++ ) { Macierz[ i ] = new double[ n ]; for( j = 0; j < n; j++ ) cout << "[" << i << "," << j << "]="; cin >> Macierz[ i ][ j ]; cout << endl; } Wsk = new int[ n ]; for( i = 0; i < n; i++ ) Wsk[ i ] = i; cout << endl; } double det( int n, int w, int * Wsk, double ** Macierz ) { int i, j, k, m, * KK; double s; if( n == 1 ) return Macierz[ w ][ Wsk[ 0 ] ]; else { KK = new int[ n - 1 ]; s = 0; m = 1; for( i = 0; i < n; i++ ) { k = 0; for( j = 0; j < n - 1; j++ ) { if( k == i ) k++; KK[ j ] = Wsk[ k++ ]; } s += m * Macierz[ w ][ Wsk[ i ] ] * det( n - 1, w + 1, KK, Macierz ); m = - m; } delete[] KK; return s; } } void Wyswietlanie() { cout << endl << det( n, 0, Wsk, Macierz ) << endl; delete[] Wsk; for( i = 0; i < n; i++ ) delete[] Macierz[ i ]; delete[] Macierz; } };
int main() { Wyznacznik Wyznacznik1; Wyznacznik1.Wprowadz_dane(); Wyznacznik1.Wyswietlanie(); return 0; }
I jest problem przy wczytywaniu danych do tablicy, bowiem mogę tylko wczytać skrajne wartości np jak dam wyznacznik macierzy 2x2 to moge wczytać wartość [0,1] oraz [1,1] żadnych innych. Myślałem nad tym wczoraj do późna, lecz nic sensownego nie dałem rady wskórać. |
|
pekfos |
» 2014-06-25 10:19:46 for( j = 0; j < n; j++ ) cout << "[" << i << "," << j << "]=";
cin >> Macierz[ i ][ j ];
|
Pętla obejmuje tylko wypisywanie, a wczytywania już nie. |
|
kamilpl1994 Temat założony przez niniejszego użytkownika |
» 2014-06-25 10:23:33 czyli trzeba zrobić? |
|
Jacob99 |
» 2014-06-25 10:25:37 musisz wstawić instrukcje, które chcesz wykonać w pętli w nawiasy |
|
kamilpl1994 Temat założony przez niniejszego użytkownika |
» 2014-06-25 10:29:40 czasem najprostsze rozwiązania jak klamerki, które mi umknęły ratują życie. Zastanawiałem się kilka razy nad składnią i kodem, ale nic złego nie widziałem. A tu masz klamerki :) |
|
« 1 » |