Scrieți un program C/C++ care citește de la tastatură numere naturale: n (n[2,20]), k (k[1,n]) și
n∙n numere din intervalul [0,109], elemente ale unui tablou bidimensional cu n linii și n coloane,
numerotate începând de la 1. Programul transformă tabloul în memorie, deplasând circular spre stânga,
cu câte o poziție, toate elementele situate pe linia k, în stânga diagonalei principale, ca în exemplu.
Elementele tabloului obținut sunt afișate pe ecran, fiecare linie pe câte o linie a ecranului, cu elementele
fiecărei linii separate prin câte un spațiu.
Exemplu: pentru n=6, k=4 și tabloul 1 2 3 4 5 6
6 7 8 9 0 1
2 4 6 8 0 2
1 3 5 7 9 5
6 2 7 4 5 7
3 9 4 8 5 7
se obține tabloul 1 2 3 4 5 6
6 7 8 9 0 1
2 4 6 8 0 2
3 5 1 7 9 5
6 2 7 4 5 7
3 9 4 8 5 7
(10p.)
Răspunsuri la întrebare
Răspuns de
3
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int i,j,a[21][21],n,k,aux;
cin>>n>>k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
cout<<endl;
for(j=1;j<=n/2;j++)
if(i>j){aux=a[k][j];
a[k][j]=a[k][n/2-1];
a[k][n/2-1]=aux;
};
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}
Explicație:
nu sunt sigur daca merge si pe alte matrici, dar pe aceasta merge rezultatul corect
Alte întrebări interesante
Engleza,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă