4. Fişierul text numere.in conține pe prima linie un număr natural nenul n (ns100), iar pe a doua linie un şir format din n numere naturale nenule, separate prin câte un spațiu, fiecare număr având maximum 8 cifre. Scrieți un program C/C++ care citeşte toate numerele din fişierul text al elementelor din şirul format pe numere.in şi afişează pe ecran cel mai mare divizor comun a doua linie a fişierului.


help pls ​

Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

#include<vector>

using namespace std;

int main() {

ifstream f("numere.in");

int a, n, ok = 1, i, m;

vector<int>v;

f >> n;

m = n;

while (n != 0)

{

 f >> a;

 for (int div = 1; div <= a / 2; div++)

  if ((a % div == 0) && (a != 1))

   v.push_back(div);

 v.push_back(a);

 n--;

}

i = v.size() - 1;

while (ok != m)

{

 ok = 1;

 for (int j = i - 1; j >= 0; j--)

  if (v[i] == v[j])

   ok++;

 i--;

}

cout << v[i + 1];

}