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

urgenttt! rezolvati problema în c++​

Anexe:

Răspunsuri la întrebare

Răspuns de andrei750238
1

#include <iostream>

using namespace std;

int main(){

   int n, a[40][40],i,j,par,imp;

   cin >> n;

   imp=1;

   par=n*n;

   if(par%2==1)par--;

   //Construire

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

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

           a[i][j] = imp;

           imp+=2;

       }

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

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

           a[i][j] = par;

           par-=2;

       }

   //Afisare matrice

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

       for(j=1;j<=n;j++) cout << a[i][j] << " ";

       cout << endl;

   }

}


andrei170865: mersi! îmi mai poți explica încă o data construirea?
andrei170865: poti sa îmi spui ce reprezinta imp si par? linile impare si liniile pare?
andrei750238: imp = numarul curent impar. Incepe de la 1, creste din 2 in 2
par = numarul curent par. Incepe de la n^2, scade din 2 in 2
andrei750238: Algoritmul ia la rand, mai intai liniile impare apoi liniile pare
andrei170865: dar observ ca pe liniile par se sortează descrescător,dar eu nu vad conditia! de ce?
andrei170865: pare*
andrei170865: nu prea înțeleg la construirea matricei!
andrei170865: de ce scad numerele pare?
andrei750238: numerele pare se scad pentru ca elementele sa fie sortate descrescător pe linii pare
andrei750238: nu avem nevoie de condiție, avem doua secvențe separate. una care merge doar pe linii impare și sortează crescător și alta care merge pe linii pare și sortează descrescător
Alte întrebări interesante