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

Fişierul text NUMERE.IN conţine pe prima linie un număr natural nenul n (1≤n≤100) şi
pe următoarea linie n numere naturale din intervalul [1,30000], separate prin câte un
spaţiu. Scrieţi un program C/C++ care citeşte toate numerele din fişierul NUMERE.IN şi
determină, folosind apeluri ale subprogramului cmmdc, cel mai mare divizor comun al celor n numere situate pe linia a doua în fişier. Programul afişează pe ecran numărul cu proprietatea cerută.
Exemplu: dacă fişierul NUMERE.IN are conţinutul:
5
60 72 600 24 48
atunci se afişează valoarea 12.

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("numere.in");

int n, num, i, d;

int cmmdc(int a, int b)

{

   int r;

   while (b!=0)

   {

       r=a%b;

       a=b;

       b=r;

   }

   return a;

}

int main()

{

   f >> n >> num;

   d=num;

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

   {

       f >> num;

       d=cmmdc(d,num);

   }

   cout << d;

}

Explicație:

Alte întrebări interesante