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

Se considera o matrice cu numere întregi cu maxim două linii și două coloane.Ordonează crescător elementele de pe chenarul matricii.
In C++ cu subprograme.​

Răspunsuri la întrebare

Răspuns de chetreanandrei
1

Răspuns:

#include <iostream>

using namespace std;

void citire (int a[][100], int n, int m) {

   int i, j;

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

       for (j = 0;j < m; j++){

           cout << "a[" << i << "][" << j << "]=";

               cin >> a[i][j];

       }

}

void afisare (int a[][100], int n, int m) {

   int i, j;

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

       for (j = 0;j < m; j++)

           cout << a[i][j] << ' ';

           cout << endl;

   }

}

void elem_din_chenar(int a[][100], int n, int m, int b[], int &k){

   int i, j;

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

       b[k] = a[0][j];

       k++;

       b[k] = a[n-1][j];

       k++;

   }

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

       b[k] = a[i][0];

       k++;

       b[k] = a[i][n-1];

       k++;

   }

}

void sort_chenar(int b[], int k){

   int i,j;

   int aux;

   for (i = 0;i < k; i++)

       for (j = 0;j < k-1; j++)

           if (b[i] < b[j]){

               aux = b[i];

               b[i] = b[j];  

               b[j] = aux;

           }

}

int main(){

   int m, n;

   int a[100][100];

   int b[1000];

   int k = 0;

   cout << "n=";

       cin >> n;

   cout << "m=";

       cin >> m;

   citire(a,n,m);

   afisare(a,n,m);

   elem_din_chenar(a,n,m,b,k);

   sort_chenar(b,k);

   cout << "Elementele chenarului sortate crescator:\n";

   for (int i = 0;i < k; i++)

       cout << b[i] << ' ';

  return 0;

}

Explicație:

Alte întrebări interesante