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

Cum se rezolvă in C++? Se da o matrice de dimensiune nxm. Sa se construiasca un vector cu toate elementele prime din matrice. Sa se sorteze apoi elementele din vector.

Răspunsuri la întrebare

Răspuns de daba
0

Răspuns:

Explicație:

#include <iostream>

using namespace std;

int isPrim(int x){

if(x == 0 || x == 1)

return 0;

int i;

for(i = 2; i < x/2; i++)

if(x%i == 0)

return 0;

return 1;

}

//^ Sper ca ai voie subprograme.

int main(){

int n, m, M[10][10];

cin >> n >> m;

int i, j;

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

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

cin >> M[i][j];

//Matricea a fost citita (in caz ca nu e destul de evident

int v[100], index = 0; //n * m dimensiune maxima

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

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

if(isPrim(M[i][j] == 1){

v[index] = M[i][j];

index++;

}

index--; //daca au fost 3 elemente bagate in vector, index e 4, testeaza //daca nu crezi

//elementele prime sunt in matrice

int aux;

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

for(j = i + 1; j < m; j++)

if(v[i] > v[j]){

aux = v[i];

v[i] = v[j];

v[j] = aux;

}

// sau pur si simplu swap(v[i], v[j]);

return 0;

}

Alte întrebări interesante