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

În fișierul mat.in pe prima linie se gasesc doua numere naturale n si m,iar pe urmatoarele n linii cate m elemente intregi. Cerinte:
1) sa se afiseze elementele prime de pe prima coloana
2) sa se verifice daca pe coloana 3 sunt numai elemente pozitive
Va rog sa ma ajutati, am nevoie urgent​

Răspunsuri la întrebare

Răspuns de andrei750238
5

#include <iostream>

#include <fstream>

using namespace std;

//Citesc matricea declarata static din fisierul

bool citire(int matrice[10][10], int& nLinii, int& nColoane) {

ifstream file("mat.in");

if (!file.is_open()) return 0;

file >> nLinii >> nColoane;

for (int linie = 0; linie < nLinii; linie++) {

 for (int coloana = 0; coloana < nColoane; coloana++) {

  file >> matrice[linie][coloana];

 }

}

file.close();

return 1;

}

//Verifica daca numarul e prim

bool este_prim(int nr)

{

if (nr < 2)

 return false;

if (nr == 2)

 return true;

for (int i = 2; i * i <= nr; i++)

 if (nr % i == 0)

  return false;

return true;

}

bool sunt_pozitive(int mat[10][10], int linii, int coloane) {

//Daca matricea are mai putin de 3 coloane returneaza 0

if (coloane <= 3) return 0;

//Verifica fiecare linie

for (int linie = 0; linie < linii; linie++) {

 //Daca gasesti element negativ returneaza 0

 if (mat[linie][3] < 0) return 0;

}

//Daca nu ai gasit element negativ returneaza 1

return 1;

}

int main() {

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

citire(mat, n, m);

cout << "\nElemente prime pe prima coloana : ";

for (int linie = 0; linie < n; linie++) {

 if (este_prim(mat[linie][0]))

  cout << mat[linie][0] << " ";

}

if (sunt_pozitive(mat, n, m))

 cout << "\nDa,toate elementele de pe coloana 3 sunt pozitive";

else  

 cout << "\nNu toate elementele de pe coloana 3 sunt pozitive";

}

Alte întrebări interesante