Witam !
Czy ktoś może mi powiedzieć co w tym programie jest nie dobrze napisane ?
Program nieprawidłowo zapisuje dane do tablicy(niektóre są prawidłowo wczytane, a niektóre nie).
Dziękuje za każdą pomoc :)
Zawartość pliku punkty.txt:
1 5721065.76 6488331.51
2 5721078.46 6488343.22
3 5721064.79 6488335.73
4 5721072.43 6488330.48
5 5721067.17 6488329.30
6 5721066.58 6488331.71
7 5721076.96 6488330.59
8 5721065.63 6488335.97
9 5721077.70 6488354.30
10 5721076.49 6488359.59
11 5721081.77 6488360.84
12 5721083.00 6488355.53
13 5721065.07 6488338.63
14 5721080.87 6488332.37
15 5721076.76 6488331.47
16 5721069.97 6488341.31
17 5721070.34 6488339.76
18 5721072.61 6488329.60
19 5721058.14 6488321.07
20 5721175.25 6488347.28
21 5721086.82 6488284.45
22 5721110.23 6488289.70
23 5721157.07 6488300.18
24 5721133.65 6488294.93
25 5721175.64 6488339.17
26 5721104.30 6488365.95
27 5721134.12 6488338.07
28 5721089.22 6488328.03
29 5721156.56 6488343.10
30 5721149.18 6488376.01
31 5721111.67 6488333.05
32 5721081.87 6488360.93
33 5721149.64 6488333.34
34 5721126.23 6488328.11
35 5721102.81 6488322.87
37 5721059.89 6488313.26
38 5721178.94 6488352.14
39 5721179.76 6488336.04
40 5721053.37 6488324.10
41 5721056.85 6488308.48
42 5721052.53 6488281.92
43 5721043.12 6488324.02
44 5721038.41 6488345.05
45 5721053.64 6488277.04
46 5721046.89 6488353.09
47 5721063.40 6488279.22
48 5721037.14 6488350.91
49 5721126.74 6488370.98
Zawartość programu:
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
int i=0;
string linia;
fstream plik;
int *nazwa= new int[i];
double *x = new double[i];
double *y= new double[i];
plik.open("punkty.txt", ios::in);
if(plik.good() == true)
{
do
{
cout << i+1 << " dana" << endl<<endl;
if(i%3==1)
{
plik >> x[i];
}
else if(i%3==2)
{
plik >> y[i];
}
else if(i%3==0)
{
plik >> linia;
}
cout<< x[i]<<endl;
cout<< y[i]<<endl;
i++;
cout<<endl;
}while(!plik.eof());
plik.close();
}
cout << x[0]<<" "<< y[0]<<endl;
return 0;
}
Pierwsze 6 danych wczytanych z pliku: