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

De la tastatura se citesc 2 numere intregi n,m care indica dimensiunea tabloului bidimensional cu elemente intregi citite de la tastatura.
Scrieti un program care va crea fisierul prim.txt in care va inscrie toate numerele prime ce contin cifra 3 din tabloul dat.
Utilizam subprograme(functii)

Răspunsuri la întrebare

Răspuns de andrei750238
1

► Cod C++ :

#include <iostream>

#include <fstream>

using namespace std;

//Functie care verifica daca numarul contine cifra 3

bool contine_3(int nr) {

while (nr) {

 if (nr % 10 == 3) return true;

 nr /= 10;

}

return false;

}

//Functie care verifica daca numarul e prim

bool este_prim(int nr) {

if (nr < 2) return false;

if (nr == 2) return true;

for (int d = 3; d * d <= nr; d += 2)

 if (nr % d == 0) return false;

return true;

}

int main() {

int n, m;

int aux;

//Citeste dimensiune

cin >> n >> m;

//Deschide fisier

ofstream fout("prim.txt");

//Citeste matrice

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

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

  cin >> aux;

  //Daca numarul citit respecta confitiile adauga in fisier

  if (este_prim(aux) && contine_3(aux)) fout << aux << " ";

 }

//Inchide fisier

fout.close();

}

► Nota :

Deoarece nu facem mai multe operatii cu matricea nu are sens sa o memoram complet, e suficient sa stim doar elementul curent pe care il prelucram imediat dupa citire

Alte întrebări interesante