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

Fişierul numere.in conţine pe prima linie un număr natural n, iar pe a doua line, separate
prin spaţiu, n numere naturale. Să se calculeze media aritmetică a numerele prime de pe a doua linie
din fişier. Rezultatul se va afişa in fisierul numere.out, cu 2 zecimale.
Exemplu:
numere.in numere.in
7 6.00
12 2 5 9 25 10 11

Răspunsuri la întrebare

Răspuns de adrianalitcanu2018
1

Explicație:

#include <iostream>

#include <fstream>

#include <iomanip>

#include <cmath>

using namespace std;

ifstream fin("numere.in");

ofstream fout("numere.out");

bool prime(int a)

{

   for(int j=2;j<=sqrt(a);j++)

       if(a%j==0)

           return 0;

   return 1;

}

int main()

{

   int a[10],n,suma,k;

   fin>>n;

   suma=0;

   k=0;

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

       {

           fin>>a[i];

           if(prime(a[i])==1)

               {

                   suma=suma+a[i];

                   k++;

               }

       }

   if(k==0)

       fout<<"NU";

   else

       fout<<fixed<<setprecision(2)<<(1.0*suma)/k;

   fin.close();

   fout.close();

   return 0;

}

Alte întrebări interesante