swee [ Gunslinger ]
Program w C++
Mam kłopot z programem, który wczytuje z pliku .csv liczby do tablicy string i zsumuje te których sasiedzi bedą mniejsi od nich np. x1,x2,x3 x2>x1 x2>x3 x1+x3=liczba. Kłopot jest w tym, że ich nie sumuje :) Chodzi zapewne o cos z zamiana formatu zmiennych. - atoi ani atof nie chcą działać albo nie wiem jak ich dobrze użyć.
using namespace std;
int main(int argc, char *argv[],int x,int i,double z)
ifstream in("p1.csv");
int licznik=1;
string wers[1000];
while(getline(in, wers[licznik]))
cout<<wers[licznik]<<endl;
licznik++;
for(i=0;i<x;++i)
if(wers[i+1]<wers[i+2] && wers[i+2]>wers[i+3])
z=wers[i+1]+wers[i+3]
printf("%g",z);
system("PAUSE");
Docelowo program ma poprawiać wartości odbiegające od krzywej sinusoidy (bugi)
SPMKSJ [ Konsul ]
https://forumarchiwum.gry-online.pl/S043archiwum.asp?ID=4598146
mi tam średnika brakuje w tej lini
z=wers[i+1]+wers[i+3] ; brakuje
No tak, najprawdopodobniej masz rację też z typem zmiennych. Operatora porównania (<> ==) używasz na zmiennych typu string i musisz prze konwertować te stringi do liczb. Możesz samemu napisać taką funkcję, to nie jest trudne.
SPMKSJ [ Konsul ]
Ponadto co to jest zmienna x ??
Ten program wydaje mi się być nielogiczny (za wczesne zakończenie while ?), ale nie pamiętam dokładnie c++ więc tylko przypuszczam...
EDIT:
A może jednak dobrze, jeżeli tablica wers zawiera kolejne wersy z pliku.

swee [ Gunslinger ]
Gdyby zamiana była dla mnie taka prosta, to nie pisałbym na GOLa, nie? ;) Proszę o przykład zamiany tego co mam w tablicy ze stringa na double'a.
SPMKSJ [ Konsul ]
google
fraza:
string to double c++
pierwszy lepszy wynik: