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:
#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: