Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zamiana słów miejscami

Ostatnio zmodyfikowano 2009-04-18 17:22
Autor Wiadomość
Riant
Temat założony przez niniejszego użytkownika
Zamiana słów miejscami
» 2009-04-18 02:10:00
Witam!
Jestem tutaj nowy, choć kurs przerabiałem od dawna
(nawet się już rejestrowałem, ale to było dawno temu, potem czasu brak,
zapomniałem danych do konta i musiałem nowe założyć...).
C++ zafascynował mnie około rok temu, ale później zapał minął i czasu
mało było... Poznałem podstawy...
Później co około miesiąc coś przeczytałem i teraz
znów do nauki się biorę, więc w sumie bardzo mało umiem i proszę o wyrozumiałość w wypadku mojej niewiedzy.
Tyle słowem wstępu nowego użytkownika. ;-)

Mam pytanie.
Chciałbym napisać program, który wczyta z pliku.txt dwie kolumny słów i zamieni
je miejscami.
Np:
kolumna1 kolumna2

Po akcji programu:
kolumna2 kolumna1

Znam podstawy obsługi pliku z tego kursu, ale nie mam bladego pojęcia
jak się zabrać za ten program. Nawet nie wiem co wpisać w google aby
znaleźć coś pomocnego.
Pomógł by ktoś w napisaniu?
Z góry zaznaczam że nie chciałbym gotowca... (Bo i z tym się spotkałem.)
Bowiem w nauce on mi nie pomoże.

Z góry dziękuję za pomoc.

P-5803
GoldWolf
» 2009-04-18 07:46:32
Przede wszystkim musisz umieć otwierać i wczytywać dane z pliku, jeśli tego nie umiesz to musisz się na uczuć.

Są dwa sposoby albo użyjesz biblioteki string, albo będziesz to wczytywać do tablic.
Czyli:
C/C++
//Drugi sposób
char kolumna1[ liczba_wierszy ][ max_liczba_znak ó w_w_wierszu ];
char kolumna2[ liczba_wierszy ][ max_liczba_znak ó w_w_wierszu ];
char suma_kolumna[ liczba_wierszy ][ max_liczba_znak ó w_w_wierszu ];

//Pierwszy sposób
string kolumna1, kolumn2, suma_kolumn
Najlepiej napisz jakiś kod to potem cię naprowadzimy, gotowca nie dostaniesz. Napisz do czego doszedłeś i z czym masz problem...
P-5804
WunM
» 2009-04-18 10:22:26
Mozna czytać kolumna po kolumnie, zapisać je do oddzielnych zmiennych (moze to być char lub string) a następnie wypisać, tyle że najpierw kolumna2 potem kolumna1.
P-5806
Riant
Temat założony przez niniejszego użytkownika
» 2009-04-18 11:36:15
Dante to wiem, tylko nie wiem jak zapisać jedną z dwóch kolumn w zmiennej.
miachalos13 no tak, zapisać po kolumnie w zmiennych i zamienić miejscami.
Tylko jak zapisać wyłącznie jedną z kolumn?
manfred dzięki za pomoc, choć nie prosiłem o gotowca...
Ale po tym przykładzie widzę, że dużo wiedzy mi brakuje by coś takiego napisać.
Nie znam vector... Jest możliwość napisania tego jedynie przy użyciu string?

P-5807
WunM
» 2009-04-18 11:48:50
Jest taka możliwość. Poczytaj o bibliotece fstream, tam jest taka funkcja (jak w większości tego typu bibliotek) która sprawdza czy plik się nie skończył. dajesz to w pętli while i czytasz znak po znaku.... i dalej już wiesz co ;)
P-5808
WunM
» 2009-04-18 12:07:56
W zasadzie to najwazniejsze jest to:

C/C++
k1.push_back( str2 );
k2.push_back( str1 );

Po prostu podmiana miejscami zmiennych.
P-5809
GoldWolf
» 2009-04-18 12:43:23
A wystarczyło czytać z pliku getline do kolumna1 pierwszy plik i potem analogiczne drugi.
suma kolumn to już zamiana miejscami, żadna filozofia i vector nie jest potrzebny...

Owszem jak masz braki to jest trudniej, a nawet bardzo. Chociaż powiem szczerze nie wiem czy nie prościej było użyć tablic.
P-5810
Riant
Temat założony przez niniejszego użytkownika
» 2009-04-18 13:31:16
manfred nauczenie nie jest problemem, jednak zależy mi na czasie, dlatego się pytam czy nie mogę użyć czegoś, co już umiem.
michalos13 ok, dzięki. ;-)
Dante, tylko plik jest jeden, a w nim dwie kolumny.
P-5813
« 1 » 2 3
  Strona 1 z 3 Następna strona