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.
|
|
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: 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 ];
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... |
|
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. |
|
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?
|
|
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 ;) |
|
WunM |
» 2009-04-18 12:07:56 W zasadzie to najwazniejsze jest to: k1.push_back( str2 ); k2.push_back( str1 );
Po prostu podmiana miejscami zmiennych. |
|
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. |
|
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. |
|
« 1 » 2 3 |