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. Programul
transformă tabloul în memorie, deplasând circular spre dreapta, cu câte o poziție, toate elementele situate pe
linia a k-a, în stânga diagonalei secundare, 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=5, k=2 și tabloul
2 3 4 5 6
2 4 6 8 0
7 8 9 0 1
3 5 7 9 1
7 3 8 5 6
se obține tabloul
2 3 4 5 6
6 2 4 8 0
7 8 9 0 1
3 5 7 9 1
7 3 8 5 6
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int a[20][20],i,n,j,aux,k;
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
for (i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];
}
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:
Alte întrebări interesante
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Germana,
9 ani în urmă