Witam,
jak można obrócić tablicę w lewo o jeden krok i tylko po obwodzie?
Wiem jak obrócić o 90 stopni ale jak przesunąć o jedną komórkę nie wiem :-(
dla danych wejściowych:
4 5 // liczba kolumn i wierszy
1 2 3 4
5 6 7 8
9 0 0 9
1 2 3 1
1 2 3 2
Dane wyjściowe:
2 3 4 8
1 6 7 9
5 0 0 1
9 2 3 2
1 1 2 3
Obrót o 90 stopni mam tak:
#include <iostream>
using namespace std;
int maxp = 100;
int main()
{
int m, n,i,j;
char P[maxp][maxp];
cin >> n >> m; // liczba wierszy i kolumn
for( i = 0; i < n; i++ ) // wczytywanie
{
for( j = 0; j < m; j++ )
{
cin >> P[ i ][ j ];
}
}
for( i = 0; i < m; ++i ) { // wypisywanie
for( j = 0; j < n; ++j ) {
cout << P[ j ][ m - i - 1 ] ;
}
cout << "\n";
}
return 0;
}
dla 90 stopni:
wejściowe:
3 3
qqq
eee
ddd
wyjściowe:
qed
qed
qed