Witam wszystkich,
mam pewien problem. Otóż dostałem takie zadanie wraz z plikiem:
"Znajdź okrąg, w którego wnętrzu (włącznie z brzegiem) znajduje się największa liczba punktów, będących środkami pozostałych okręgów. W pierwszym wierszu pliku wynik2.txt umieść trzy liczby: współrzędne środka i długość promienia tego okręgu, oddzielone spacją, w drugim wierszu tego pliku umieść liczbę środków pozostałych okręgów w nim zawartych"
Mam taki kod i po F9 program się wysypuje. Jak to naprawić ? Póki co chciałem tylko w terminalu sobie wyświetlić odpowiedź... Z góry dziękuję.
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
ifstream wej;
wej.open("okrgi.txt");
vector <int> x;
vector <int> y;
vector <int> r;
vector <int> ilosc;
int a,b,c,minimalna = 0;
int ilosc_danych = 0;
int w = 0;
bool test = true;
while(!wej.eof())
{
wej>>a; x.push_back(a);
wej>>b; y.push_back(b);
wej>>c; r.push_back(c);
}
for(int k=0; k<ilosc_danych; k++)
{
for (int i=0; i<ilosc_danych; i++)
{
if((x[i]==x[k])&&(y[i]==y[k])&&(r[i]==r[k]))
{
continue;
}
else
{
if ((x[i]-x[k])*(x[i]-x[k])+(y[i]-y[k])*(y[i]-y[k])<=r[k]*r[k])
{
w++;
}
else
{
//w = w;
}
}
}
ilosc.push_back(w);
}
//------------Sortowanie----------------//
for (int i=0; i<ilosc.size(); i++)
{
for (int j=0; j<ilosc.size(); j++)
{
if (ilosc[j]<ilosc[j+1])
{
swap(ilosc[j], ilosc[j+1]);
swap(x[j], x[j+1]);
swap(y[j], y[j+1]);
swap(r[j], r[j+1]);
}
}
}
//---------------------------------------//
//
cout <<x[0]<<" "<<y[0]<<" "<<r[0]<<" "<<ilosc[0];
wej.close();
return 0;
}