[C++, program] Zliczanie znaków w tekście
Ostatnio zmodyfikowano 2015-05-04 18:02
Jacek121 Temat założony przez niniejszego użytkownika |
[C++, program] Zliczanie znaków w tekście » 2015-05-04 00:59:37 Dobry wieczór, muszę napisać program, który liczy ile jest znaków w słowie, ciężko to wyjasnic. Przykład: slowo: KAJAK ma 3litery, 2 z nich się powtarzają. Wynikiem powinna byc liczba 3. Slowo: drzewo ma 6 liter, zadna sie nie powtarza, wynik: 6. Ma ktoś pomysł jak to ugryźć i napisac taki program? |
|
darko202 |
» 2015-05-04 07:49:01 np. string slowo; cin >> slowo;
for( int i = 0; i < slowo.length(); i++ ) { .... }
cout << " Slowo " << slowo << " ma : " << licznik_liter << "\n";
|
|
Jacek121 Temat założony przez niniejszego użytkownika |
» 2015-05-04 07:56:00 Czy to zadziała też przy wczytywaniu danych z pliku? |
|
JMII89 |
» 2015-05-04 08:22:25 Tak . Wczytujesz sobie linijke z pliku. Dzielisz zdanie na wyrazy np za pomocą boost::algorithm::split albo w jakiś inny sposób i w każdym wyrazie sprawdzasz literki. |
|
Monika90 |
» 2015-05-04 10:33:47 #include <iostream> #include <string> #include <set>
int main() { const std::string word = "abababcbdbdbdbebdbdbdfbebdbcba"; std::cout << std::set < char >( word.begin(), word.end() ).size() << std::endl; }
fajne choć niewydajne |
|
Jacek121 Temat założony przez niniejszego użytkownika |
» 2015-05-04 11:35:10 Monika90 jak Twój kod przekształcić, żeby wczytywało słowo, podawało wynik wpisywało do innego pliku i brało następne słowo?! |
|
Monika90 |
» 2015-05-04 16:10:52 Jeżeli w pliku wyrazy oddzielone są białymi znakami, to wykonać jakąś operację na wszystkich wyrazach w pliku można w ten sposób #include <string> #include <fstream>
int main() { std::ifstream file( "words.txt" ); std::string word; while( file >> word ) { do_something( word ); } }
A jak zrobić zapis do pliku, to znajdziesz już chyba sam w kursie. |
|
Jacek121 Temat założony przez niniejszego użytkownika |
» 2015-05-04 17:27:25 #include <stdafx.h> #include <iostream> #include <string> #include <set> #include <fstream> using namespace std; int main() { ifstream file( "G:\\C++\\ConsoleApplication5\\Debug\\dane.txt" ); ofstream file2; file2.open( "G:\\C++\\ConsoleApplication5\\Debug\\wynik.txt" ); string word; while( file >> word ) { const string( word ); file2 << set < char >( word.begin(), word.end() ).size() << endl; } file2.close(); system( "pause" ); }
każde słowo jest w nowym wierszu, nie wiem czemu, ale wypisuje mi w wynik.txt same zera. Dalej coś z częścią logiczną jest nie tak :( |
|
« 1 » 2 |