Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Temat projektu: Program pobierający zbiór danych z pliku i obliczający podane pr

dyro_lisz 20 Sty 2012 23:45 1451 6
  • #1 20 Sty 2012 23:45
    dyro_lisz
    Poziom 9  

    Czy ktoś molby mi w tym pomóc chce przerobić ten program, tak, żeby dana x i dana y były czytane z pliku tekstowego zamiast jewporwadzać za pomocą klawiatury. Innyy słowy co muszę wstawić za miast
    {
    COUT<<"PODAJ WSP X["<<I<<"]=";
    CIN>>XI[I];
    }
    by odczytywał te dane z pliku. Byłbym wdzięczny za szybką odpowiedź bo muszę oddać projekt 25 stycznia.

    PS.Reszta kodu działa dobrze.


    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq

    0 6
  • Pomocny post
    #2 21 Sty 2012 00:42
    Krzysztof Gustaw
    Poziom 23  

    Witam!
    Rozumiem, że dane z pliku czytanego są zapisane w postaci ASCII

    Można zrobić to np tak:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #3 21 Sty 2012 13:39
    dyro_lisz
    Poziom 9  

    To nie działa lub coś źle robię. Jeśli chodzi o zawartość pliku z którego zamierzam pobierać te dane to jest ona na razie taka:

    Cytat:

    1
    0.2
    -3
    4

    później dodam następne te są tylko tak przykładowo jakie zamierzam umieszczać w moim pliku.
    Cytat:

    {
    ifstream moje_dane("x.txt"); // Otwieramy strumień moje_dane
    moje_dane >> xi[i]; // odczytujemy
    moje_dane.close(); // a na koniec zamykamy
    }

    Jeśli chodzi o to co się dzieje gdy uruchmie program z tą zmianą
    Temat projektu: Program pobierający zbiór danych z pliku i obliczający podane pr
    Wygląda to tak jakby nie czytał tych danych z pliku x.

    0
  • #4 22 Sty 2012 02:15
    dyro_lisz
    Poziom 9  

    Czy nikt inny nie ma pomysłów jak rozwiązać mój problem z wczytaniem danych jako zmienne x i y, by program mógł wyliczyć z nich interpolacje. Jak już mówiłem reszta programu jest poprawna ale dane muszą być wczytywane, a nie wpisywane ręcznie.

    0
  • #5 22 Sty 2012 12:04
    Krzysztof Gustaw
    Poziom 23  

    Witam!

    Jakoś nie mam (jeszcze ) pomysłu na C++ w którym nie czuję się mocny, ale w klasycznym "C". To powinno zadziałać również w C++. Na razie podaję "coś na szybko" bo Ciebie terminy gonią...


    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #6 22 Sty 2012 13:13
    beluosus
    Poziom 25  

    dyro_lisz napisał:
    Cytat:
    {
    ifstream moje_dane("x.txt"); // Otwieramy strumień moje_dane
    moje_dane >> xi[i]; // odczytujemy
    moje_dane.close(); // a na koniec zamykamy
    }

    Rozumiem, że to ciało pętli for... za każdym razem otwierasz plik, a to znaczy, że za każdym razem wskaźnik z którego miejsca w pliku czytać dane jest ustawiony na początek. W takim wypadku wszystkie elementy tablicy powinny mieć wartość pierwszego elementu w pliku. Musisz otworzyć plik przed pętlą i zamknąć po pętli.

    0
  • #7 22 Sty 2012 15:39
    dyro_lisz
    Poziom 9  

    @ beluosus twoja podpowiedź o pętlach poskutkowała, wielkie dzięki na dowód rzucam screena:
    Temat projektu: Program pobierający zbiór danych z pliku i obliczający podane pr
    Jak widać program już czyta dane z pliku x:

    Kod: ASCII
    Zaloguj się, aby zobaczyć kod

    I oblicza poprawnie interpolacje.
    Paprawiony kod wygląda tak:
    Kod: C
    Zaloguj się, aby zobaczyć kod

    Wstępnie mój problem został rozwiązany, dzięki za pomoc.
    Później wstawię cały program z wszystkimi przeróbkami.
    Tematu jeszcze nie zamykam gdyż nigdy nic nie wiadomo, jeszcze raz wam dziękuję.

    0