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

[C++, program] Zliczanie znaków w tekście

Ostatnio zmodyfikowano 2015-05-04 18:02
Autor Wiadomość
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?
P-131733
darko202
» 2015-05-04 07:49:01
np.

C/C++
// 1. zacznijmy od zapamiętania słowa
string slowo;
cin >> slowo;

// 2. teraz mamy dostęp do każdej litery
for( int i = 0; i < slowo.length(); i++ )
{
    // slowo[i]
    // 3. sprawdzamy czy litera była wcześniej  i zwiększamy licznik_liter 
    ....
}

//4. wyświetlamy ilość liter
cout << " Slowo " << slowo << " ma : " << licznik_liter << "\n";

P-131734
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?
P-131735
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.
P-131736
Monika90
» 2015-05-04 10:33:47
C/C++
#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
P-131739
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?!
P-131742
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
C/C++
#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.
P-131756
Jacek121
Temat założony przez niniejszego użytkownika
» 2015-05-04 17:27:25
C/C++
#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 :(
P-131761
« 1 » 2
  Strona 1 z 2 Następna strona