Pobieranie danych

  • Rejestracja: dni
  • Ostatnio: dni
0

Chcę pobrać dane z pliku, ażeby następnie przekonwertować je z systemu 8 na 10.

Problem jest taki że niektóre wiersze zostają tak jakby pominięte. Przy stosowaniu pętli for dzieję się to samo.

Jeśli ktoś rzuci okiem na to i powie mi o co chodzi, będę bardzo wdzięczny :).

Kopiuj
#include <iostream>
#include <fstream>

using namespace std;

void zamiana()

{
    float T[6000];
    int i=0;
    string liczba;
    ifstream inFile;
	ofstream outFile;
	inFile.open("dane.txt");


  while(inFile.good())
    {

    getline (inFile,liczba);
    inFile >> T[i];
    i++;

    }
    
    cout<<T[3];

}

main()

{
    zamiana();
    

}

znaczniki <code> - msm

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
while(inFile>>T[i]) ++i;
  • Rejestracja: dni
  • Ostatnio: dni
0

Niestety nadal nie pobiera danych prawidłowo. Jeśli to pomoże to tutaj jest strona której można pobrać plik.

(prawy górny róg)
http://www.maturainformatyka.pl/zadania/programowanie/liczby

Chciałeś żeby wstawił to za

Kopiuj
while(inFile.good())

?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

int main()
  {
   ifstream fin("dane.txt");
   ofstream fout("wynik.txt");
   for(int value;fin>>oct>>value;fout<<value<<endl) {}
   return 0;
  }
  • Rejestracja: dni
  • Ostatnio: dni
0

Dziękuje. Tak jest o wiele prościej. Pozostaje tylko dobrze ogarnąć o co chodzi :).

  • Rejestracja: dni
  • Ostatnio: dni
0

Ok zadanie zrobiłem, ale nadal nurtuje mnie dlaczego źle pobiera dane.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Podaj kod który źle pobiera dane, lub idź na forum wróżbitów.

ŁośLeśny
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
Kopiuj
#include <iostream>
#include <fstream>
using namespace std;
main()
{



    float T[5000];
    int i=0;
    string liczba;
    ifstream inFile;
	ofstream outFile;
	inFile.open("dane.txt");


  while(inFile.good())
    {

    getline (inFile,liczba);
    inFile >> T[i];
    cout<<T[i]<<endl;
    i++;

    }

}
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

No to jeszcze przydało by się podać zawartość pliku który czytasz oraz czego się spodziewasz po takim odczytywaniu.

ŁośLeśny
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

http://www42.zippyshare.com/v/35374443/file.html

Chce jedynie żeby w tablicy T zapisały sie liczby z pliku. Po kolei tak jak są w plilku.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

No to dostałeś odpowiedź jak odczytać te liczby: http://4programmers.net/Forum/1092357
Twój kod odczytuje plik w formacie:

Kopiuj
Jakiś wiersz nagłówkowy np nazwy kołumn
1.23 Jakieś inne kolumny tekstowo liczbowe
2.55 Drugi wiersz kolumn
3.76 trzeci wiersz kolumn

Przy czym nie pilnuje przepełnienia tablicy i ostatnią liczbę wpisuje do tablicy dwa razy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.