Tabliczka mnożenia na tablicach dynamicznych
Ostatnio zmodyfikowano 2014-11-27 21:21
lvcky Temat założony przez niniejszego użytkownika |
Tabliczka mnożenia na tablicach dynamicznych » 2014-11-27 20:38:49 Witam serdecznie mam napisać program (tabliczka mnożenia). Założenia: - tablice dynamiczne, dwuwymiarowe - wielkość tabliczki zależna od użytkownika Umiem zrobić ten program na tablicach dwuwymiarowych ale nie dynamicznych. Mój kod, który jak na razie się nie kompiluje int * tab;
int n; cout << " Podaj wielkosc tabliczki mnozenia: "; cin >> n;
tab = new int[ n ][ n ];
cout << "" << endl; printf( "%5c", ' ' ); for( int i = 1; i <= n; i++ )
printf( "%5d", tab[ i ] );
cout << "\n------+--------------------------------------------------\n"; cout << " |"; for( int i = 1; i <= n; i++ )
{ printf( "\n%5d", tab[ i ] ); for( int j = 1; j <= n; j++ ) { printf( "%5d", tab[ j ] * tab[ i ] ); } } cout << "\n\n\n";
system( "pause" );
}
|
|
NopeDotAvi |
» 2014-11-27 20:40:46 tab = new int[ n ][ n ]; tak się nie alokuje dwuwymiarowych dynamicznych tablic. Do czego Ci ta tablica? Masz tam zapisywać dane? Czy to z tej tablicy mają zostać pobrane? |
|
lvcky Temat założony przez niniejszego użytkownika |
» 2014-11-27 20:46:16 Tak, mają tam zostać zapisane dane, a później na ich podstawie wyświetlona tabliczka mnożenia. |
|
lvcky Temat założony przez niniejszego użytkownika |
» 2014-11-27 21:03:26 Ktoś jest w stanie mi pomóc? :) |
|
NopeDotAvi |
» 2014-11-27 21:06:44 Taka moja luźna iplementacja: #include <iostream> using namespace std;
int main() { int n; cout << "Podaj wielkosc tabliczki mnozenia: "; cin >> n; int ** tab = new int *[ n ]; for( int i = 0; i < n; ++i ) { tab[ i ] = new int[ n ]; } for( int i = 0; i < n; ++i ) { for( int j = 0; j < n; ++j ) tab[ i ][ j ] = i + 1; } for( int i = 0; i < n; ++i ) { for( int j = 0; j < n; ++j ) { cout << tab[ i ][ j ]; } cout << endl; } cout << endl; for( int i = 0; i < n; ++i ) { for( int j = 0; j < n; ++j ) { cout << tab[ i ][ j ] << "*" << tab[ j ][ i ] << "="; cout << tab[ i ][ j ] * tab[ j ][ i ] << " "; } cout << endl; } for( int i = 0; i < n; ++i ) delete[] tab[ i ]; delete[] tab; return 0; }
Jest dla tabliczki mnożenia o takiej samej wielkości (np. 8x8 tak, ale 8x10 nie). Jak czegoś nie wiesz to pytaj |
|
lvcky Temat założony przez niniejszego użytkownika |
» 2014-11-27 21:21:23 Wszystko rozumiem, bardzo fajnie napisane i dziękuję. Jedyne co to fakt samego wyświetlania. Próbuje trochę zmienić Twój kod i nie mogę sprowadzić go do takiej postaci by tabliczka była wyświetlana mniej więcej w taki sposób:
x 1 2 3 4 5 ----+------------- 1 1 2 3 4 5 2 2 4 6 8 10 itd...
Ktoś chętny do pomocy? :) |
|
« 1 » |