Witam.
Od razu uprzedzam, że jestem początkujący i przepraszam za wszelkie uchybienia oraz błędy w terminologii, jakie mogę popełnić.
To mój pierwszy post na forum. Piszę z prośbą o pomoc...
Moim zadaniem było napisanie prostego programu wyznaczającego NWD z tablicy liczb wprowadzonych przez użytkownika.
Oto, co napisałem:
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
int o=0;
int s=0;
int n=0;
int dzielnik[n];
int tab[19];
cout<<"\n\tFprowadz 20 liczb naturalnych...";
for (int i=0; i<19; i++)
{
cin>>tab[i];
cout<<"\n\t";
}
int min=tab[0];
int max=tab[0];
for (int j=0; j=19; j++)
{
if (tab[j]>max)
{max=tab[j];}
if (tab[j]>min)
{min=tab[j];}
}
for(int i=1;i<=sqrt(min);i++)
{
if ((min%i)==0)
{
dzielnik[n]=i;
n++;
}
}
for(;n>=0;n--)
{
while(o=0)
{
o=tab[s]%dzielnik[n];
s++;
}
}
cout<<"\n\tNajwiekszy wspolny dzielnik dla wczytanych liczb: "<<dzielnik[n]<<"\n\n\t";
cin.ignore ();
getchar ();
return 0;
}
Po wpisaniu wszystkich liczb program staje w miejscu. Podejrzewam, że po prostu któraś z pętli wykonuje się w nieskończoność z powodu błędu w warunkach jej wykonania, ale nie potrafię sam tego błędu znaleźć.
Z góry dziękuję za pomoc.