Problem
Ostatnio zmodyfikowano 2019-01-14 17:34
Oskar2005 Temat założony przez niniejszego użytkownika |
» 2019-01-14 14:44:31 Wypaczcie pytanie. Gdzie trzeba zmienić:
Element (i, j) ma trafić na pozycję (n-j-1, i).
??
Bo próbuje i nie wychodzi:) Obraca mi o 180 stopni:( |
|
Oskar2005 Temat założony przez niniejszego użytkownika |
» 2019-01-14 14:46:23 A gdzie zmienić
Element (i, j) ma trafić na pozycję (n-j-1, i).
Bo zmieniam i mi obraca o 180 stopni:( |
|
jankowalski25 |
» 2019-01-14 15:15:14 Popatrz na wczytywanie: for( i = 0; i < n; i++ ) for( j = 0; j < m; j++ ) cin >> P[ i ][ j ]; |
Popatrz na wypisywanie: for( i = 0; i < m; ++i ) { for( j = 0; j < n; ++j ) { cout << S[ i ][ j ] << " "; } cout << endl; } |
Zwróć uwagę na to, że wypisujesz liczby zupełnie inaczej, niż je wczytujesz. |
|
Oskar2005 Temat założony przez niniejszego użytkownika |
» 2019-01-14 15:27:41 test |
|
jankowalski25 |
» 2019-01-14 15:59:03 Zmień typ tablicy na char. |
Dobrze wiedzieć. W takim razie można spokojnie używać char , zakres typu tablicy jest tutaj nieistotny. Jeśli jednak spróbowałeś podmienić typ indeksów tablicy na char , to robisz to źle, tam typu int można spokojnie używać, byleby z nieujemnymi wartościami. Tak naprawdę to w tym zadaniu nie musisz tworzyć drugiej tablicy. Wystarczy tylko jedna, którą najpierw wczytasz, a później wypiszesz. Podany wzór jest prawidłowy: wczytujesz tablica[ i ][ j ] , a wypisujesz tablica[ n - j - 1 ][ i ] . |
|
Oskar2005 Temat założony przez niniejszego użytkownika |
» 2019-01-14 16:42:11 test |
|
jankowalski25 |
» 2019-01-14 17:34:41 Jeśli chodzi o rotację tablicy w prawo z liczbami to nie mam problemu |
for( i = 0; i < n; i++ ) { for( j = 0; j < m; j++ ) { cin >> P[ i ][ j ]; } } for( i = 0; i < m; ++i ) { for( j = 0; j < n; ++j ) { cout << P[ n - j - 1 ][ i ] << " "; } cout << endl; } |
Skoro coś takiego powoduje prawidłowy obrót w prawo, to wystarczy jedynie zamienić indeksy tak, aby uzyskać obrót w lewo. |
|
1 « 2 » |