Są dostępne programy, które wyznaczają NWD z n liczb, ale nie mam pojęcia jak określić ile jest liczb w tych plikach. A tak nie dodałem, że NWD muszę wyznaczyć z trzech plików a całe polecenie brzmi tak:
W folderze dane, w plikach dane1.txt, dane2.txt, dane3.txt, znajdują się ciągi liczb naturalnych, po jednej liczbie w każdym wierszu:
dane1.txt zawiera 500 liczb mniejszych niż 6 000
dane2.txt zawiera 1 000 liczb mniejszych niż 60 000
dane3.txt zawiera 75 000 liczb mniejszych niż 600 000
Otrzymane wyniki dla każdego polecenia zapisz w plikach zadanie1_punkt_a.txt, zadanie1_punkt_b.txt
a) Dla każdego z plików: dane1.txt, dane2.txt, dane3.txt wyznacz największy wspólny dzielnik wszystkich liczb znajdujących się w tym pliku.
w tej chwili mój program wygląda tak:
#include<iostream>
using namespace std;
void wypelnij (int*a, unsigned n)
{
int i;
fin>>i;
for(i=0; i<n; i++)
cin>>a[i];
}
int nwd (int *a, unsigned n)
{
int w=0, r;
int i;
for(i=0; i<n; i++)
{
while (a[i]!=0)
{
r=w%a[i];
w=a[i];
a[i]=r;
}
w=a[i];
}
return w;
}
int main ()
{
ifstream fin("dane_1.txt");
ofstream fout("wyniki_1.txt");
unsigned n;
cout<<"Podaj z ilu liczb policzyc NWD ";
cin>>n;
int *a;
a=new int [n];
wypelnij (a,n);
cout<<"wartosc NWD to "<<nwd(a,n)<<endl;
delete [] a;
}
lecz niestety nic tu nie działa, jestem jeszcze słaby w to wszystko, więc proszę o pomoc.