Witam, mam pewien problem z czescia kodu. Kod ogolnie dziala, nie wiem tylko jak napisac jedna czesc.
Polecenie brzmi tak:
Każda linia składa się z pojedynczej litery oznaczającej rodzaj operacji i jednej lub dwóch liczb naturalnych będących paramtrami tego polecenia. Obsługiwane polecenia:
o 'P' k - przesunięcie wiersza o numerze k w prawo.
o 'L' k - przesunięcie wiersza o numerze k w lewo.
o 'G' k - przesunięcie kolumny o numerze k w g
o 'D' k - przesunięcie kolumny o numerze k w dół.
o 'W' k l - wstawienie liczby 0 do komórki w wierszu k i kolumnie l.
Liczba 0 jest wstawiana do komórki o danym indeksie, a istniejące dane są przesuwane ( "rozpychane" ) na zewnętrz od wstawianej wartości, taj jak na poniższym przykładzie:
Tablica przed wstawieniem liczby
a
b
c d e f g h
i
j
Tablica po wstawieniu liczby
b
e
d e 0 e f g
e
i
kod:
#include <iostream>
using namespace std;
int tab[1000][1000];
int n, m;
int temp;
void przesuniecie_w_gore (int k)
{
temp = tab [0][k];
for(int i=0; i<=n; i++)
{
tab[i][k]=tab[i+1][k];
}
}
void przesuniecie_w_lewo (int k)
{
temp = tab[k][0];
for(int i=0; i<=n; i++)
{
tab[k][i]=tab[k][i+1];
}
}
void przesuniecie_na_dol (int k)
{
temp = tab[0][k];
for(int i=n; i>=1; i--)
{
tab[i][k]=tab[i-1][k];
}
tab[0][k] = tab[n][k];
}
void przesuniecie_w_prawo (int k)
{
for(int i=m; i>=0; i--)
{
tab[k][i]=tab[k][i-1];
}
tab[k][0] = tab[k][m];
}
int main()
{
cin >> m >> n;
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
tab[i][j]=j+i;
cout<<tab[i][j]<<' ';
}
cout<<endl;
}
cout<<endl;
int k;
char a;
while(cin>>a && a!='K'){
cin>>k;
switch(a)
{
case 'P':
{
przesuniecie_w_prawo(k);
break;
}
case 'L':
{
przesuniecie_w_lewo (k);
tab[k][m-1] = temp;
break;
}
case 'G':
{
przesuniecie_w_gore(k);
tab[n-1][k] = temp;
break;
}
case 'D':
{
przesuniecie_na_dol(k);
tab[n+1][k] = temp;
break;
}
case 'W': /***PROBLEM Z TA CZESCIA KODU***/
{
int l;
cin >> k >> l;
tab[k][l]=0;
}
}}
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
cout<<tab[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
Bylabym wdzieczna za pomoc