Wskaźniki i dynamiczne alokowanie pamięci
Ostatnio zmodyfikowano 2015-11-07 16:07
JanuszPP Temat założony przez niniejszego użytkownika |
Wskaźniki i dynamiczne alokowanie pamięci » 2015-11-07 15:52:13 Witam, mam pewne problemy z określonym problemem. Nie do końca rozumiem jak to powinno wyglądać. Mógłby ktoś napisać kod/wytłumaczyć jak to powinno wyglądać?
W programie zadeklarować zmienną wskaźnikową t, która wskazuje na początek tablicy o rozmiarze n (liczbie elementów) wczytywanym z klawiatury. Elementami tablicy są wskaźniki na początki tablic z liczbami całkowitymi. Pod indeksem i jest wskaźnik na początek tablicy o rozmiarze i+1. Wykorzystując zagnieżdżone pętle while wypełnić wszystkie tablice kolejnymi liczbami całkowitymi zaczynając od zera (najpierw wypełniamy tablicę pod indeksem 0, potem pod indeksem 1 itd.). Wypełnione tablice wypisać w kolejnych liniach na ekranie. Przykład wyników dla n=4: 0 1 2 3 4 5 6 7 8 9 |
|
Gibas11 |
» 2015-11-07 16:07:05 int main() { int n; int ** tablica; cin >> n; tablica = new int *[ n ]; for( int i = 0, c = 0; i < n; i++ ) { tablica[ i ] = new int[ i + 1 ]; for( int j = 0; j < i + 1; j++ ) { tablica[ i ][ j ] = c++; } } for( int i = 0; i < n; i++ ) { for( int j = 0; j < i + 1; j++ ) { cout << tablica[ i ][ j ] << ' '; } cout << endl; } return 0; }
int ** tablica; - Deklaracja tablicy tablic (a raczej wskaźnika na wskaźnik). for( int i = 0, c = 0; i < n; i++ ) { tablica[ i ] = new int[ i + 1 ]; for( int j = 0; j < i + 1; j++ ) { tablica[ i ][ j ] = c++; } }
Wypełnienie jej. c przechowuje liczbę, którą będziesz wpisywał do kolejnych elementów. tablica[ i ][ j ] = c++; - Zwyczajne wpisanie liczby do tablicy dwuwymiarowej i postinkrementacja c . for( int i = 0; i < n; i++ ) { for( int j = 0; j < i + 1; j++ ) { cout << tablica[ i ][ j ] << ' '; } cout << endl; }
I wyświetlenie. |
|
« 1 » |