Informatică, întrebare adresată de biancarebecca946, 8 ani în urmă

Scrieți un program C/C++ care citește de la tastatură numere naturale: n (n[2,20]), k (k[2,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, interschimbând șirul elementelor situate pe linia a k-a, în stânga diagonalei

principale, parcurse de la stânga la dreapta, cu șirul elementelor situate pe coloana a k-a, deasupra

diagonalei principale, parcurse de sus în jos, 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=4 și tabloul

2 4 3 5 6

8 0 9 8 7

2 6 9 0 5

6 1 3 6 9

7 3 9 4 2

se obține tabloul
2 4 3 6 6

8 0 9 1 7

2 6 9 3 5

5 8 0 6 9

7 3 9 4 2​​

Răspunsuri la întrebare

Răspuns de ciobanutudorvlad2002
6

Răspuns:

#include <bits/stdc++.h>

using namespace std;

int a[101][101],i,j,k,n,aux;

int main()

{

cin>>n>>k;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

cin>>a[i][j];

for(i=1;i<=n;i++)

swap(a[k][i],a[i][k]);

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