Wczytywanie liczb losowych z pliku tekstowego.

Problemy i ich rozwiązania w C++.

Wczytywanie liczb losowych z pliku tekstowego.

Postprzez bartus0492 » piątek, 17 stycznia 2014, 12:51

Witam właśnie rozpocząłem kurs programowania w C++ i mam następujący projekt który musze zrobić do końca miesiąca..
Temat: Wybieranie z pliku tekstowego liczb.

- Wykonujemy operacje na plikach. Nie wolno wczytywać do tablicy i operować tablicą. W przypadku testów, losowość, gdzie jest zasadna


Co do tematu to liczby powinny być wczytywane z pliku oraz to mają być liczby np. 0.05; -5; 1.2e5; 725; itd…. Czyli mogą być pierwiastki, potęgi, z tym e, z przecinkiem itd…

czy ktoś wie jak to zrobić?? W kursie jeszcze nie doszedłem do wczytywania liczb ale jutro prawdopodobnie dojdę do tego.. Ale nie to jest najgorsze, tylko wczytywanie liczb właśnie tych z literką e.. ktoś wie jak napisać taki warunek dotyczący wczytywania tych liczb? oraz jaki kod jest potrzebny aby z tego wcześniej stworzenego przeze mnie pliku z liczbami, liczby te losowały się losowo?
bartus0492
Początkujący
Początkujący
 
Posty: 9
Dołączył(a): piątek, 17 stycznia 2014, 12:45

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez Morfidon » piątek, 17 stycznia 2014, 14:14

'e' z tego co wiem to jest 'do potęgi' 10. Czyli po prostu 1.2e5 to jest 1.2*10^5. Nie jestem pewien (wystarczy sprawdzić) ale może typ double może czytać tego typu liczby bez problemu spróbuj, jak nie to musisz napisać własne parsowanie takiej liczby. Po prostu pobierasz stringa, sprawdzasz czy ma w środku e, jeśli tak to przemnażasz liczbę przed e razy liczbę po e i przypisujesz do odpowiedniej zmiennej.

Losowanie liczb losowych możesz zrobić podobnie jak robię losowanie liczb w lotto (tak jak tu: http://videokurs.pl/kurs-c.php#AL25)
Morfidon
Administrator
Administrator
 
Posty: 1324
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez bartus0492 » sobota, 18 stycznia 2014, 23:05

a w jaki sposób wczytywać plik wcześniej utworzony z liczbami?
bartus0492
Początkujący
Początkujący
 
Posty: 9
Dołączył(a): piątek, 17 stycznia 2014, 12:45

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez Morfidon » niedziela, 19 stycznia 2014, 14:26

Tak jak pokazuje w kursie C++ obsługa plików. Czego dokładnie nie rozumiesz?
Morfidon
Administrator
Administrator
 
Posty: 1324
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez bartus0492 » niedziela, 19 stycznia 2014, 18:57

czy jest to w video kursie?
bartus0492
Początkujący
Początkujący
 
Posty: 9
Dołączył(a): piątek, 17 stycznia 2014, 12:45

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez bartus0492 » niedziela, 19 stycznia 2014, 23:33

Kod: Zaznacz cały
#include <iostream>
#include <fstream>
#include <string>
using namespace std;


main()
{

ifstream plik;
plik.open("liczby.txt");
int liczby

getline( plik, liczby);


if(plik.good())
   {
      cout << "Plik udalo sie otworzyc!\n";
   }   
   else
   {
      cout <<   "Otwarcie pliku nie powiodlo sie!\n";
   }


}   


mam tutaj kod który otwiera plik z liczbami jak na razie całkowitymi ale niestety otwiera tyle że jest pusty(a w dokumencie są liczby) w czym błąd popełniłem?
Bardzo mi pana kurs pomógł, szczególnie ze zrozumieniem wskaźników :)
bartus0492
Początkujący
Początkujący
 
Posty: 9
Dołączył(a): piątek, 17 stycznia 2014, 12:45

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez Morfidon » poniedziałek, 20 stycznia 2014, 12:26

Liczby nie są od razu liczbami wczytując je z pomocą getline. Getline pobiera całą linie. To Ty wiesz, że tam są liczby, ale nie komputer...
Morfidon
Administrator
Administrator
 
Posty: 1324
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez bartus0492 » wtorek, 21 stycznia 2014, 16:29

mam już kod który mi w kolumnie wypisuje liczby... teraz jak zrobić żeby wyświetlało mi tą literkę e?

Kod: Zaznacz cały
#include <iostream>
#include <fstream>

using namespace std;

int main()
{

double liczba;
ifstream plik;
plik.open("liczby.txt");
while (!plik.eof())
{

plik>>liczba;

cout<<liczba<<endl;
}
return 0;
}


Skorzystaj z funkcji:
http://www.cplusplus.com/reference/cstdio/printf/
bartus0492
Początkujący
Początkujący
 
Posty: 9
Dołączył(a): piątek, 17 stycznia 2014, 12:45

Re: Wczytywanie liczb losowych z pliku tekstowego.

Postprzez asokalski » poniedziałek, 4 sierpnia 2014, 20:38

Dzięki wielkie. Tego właśnie szukałem, idę dalej. Jakbym miał problemy to będę wiedział gdzie napisać.
asokalski
Początkujący
Początkujący
 
Posty: 5
Dołączył(a): środa, 30 lipca 2014, 15:11
Lokalizacja: Katowice


Powrót do C++

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron