Vytvořte aplikaci, která ze zadaného textového souboru (jméno je zadáno přes klávesnici, nebo jako parametrpříkazové řádky volaného EXE-programu) rozpozná ze čteného proudu znaků slova, zapíše je do tabulky slov a nakonec tuto tabulku vypíše včetně četností jejich výskytu v udaném textu. Jako oddělovač jednotlivých slov testujte znak mezera. Výstup volitelně umí vypsat na obrazovku , nebo do souboru pod volitelným jménem.
o načtení souboru TXT
o výpis počtu opakování stejných slov
o opraví malá písmena po tečce na velká
o program musí ingorovat mailové a internetové adresy
o výstup zapsat do souboru pod volitelným jménem
??????????????????? JAKPAK NA TO ???
Fórum › C / C++
Počet opakování stejných slov v textovém souboru
Já bych na to šel jednoduše - přečetl bych slovo ze vstupu, pokud by obsahovalo @, tak bych ho zahodil,pokud tečku tak bych ji zahodil a dalšímu změnil písmeno na velké, pokud ne tak bych ho uložil do mapy. A mapu bych potom vypsal.
Nevím jestli jsi chtěl toto, nebo něco jiného..
TAk jsem spachtil takový malý funkce...Doufám, že se budou hodit
//Predikát
bool je_zavinac(char c)
{
return c =='@';
}
//Je ve slově zavináč?
bool jezav(string& s)
{
return !(find_if(s.begin(), s.end(), je_zavinac) == s.end())
}
//Tečka
bool tecka(string& s)
{
return s[s.size()] == '.';
}
//vratí velké písmeno
char velp(char c)
{
return toupper(c);
}
//main
int main()
{
istream in("nazevsouboru.txt");
//proměnné
map<string, int> poc;//Mapa
string s;
bool t = false;//tečka
while(in >> s)
{
if(jezav(s))
continunte;
if(tecka)
{
s[0] = velp(s[0]);
}
t = tecka(s);
++poc[s];//Inkrementace počítadla slova
}
//VYpsání
ofstream o("o.txt");
for (map<string, int>::const_iterator it = poc.begin(); it != pocitadla.end(); ++it)
{
o << it->first << "\t" << it->second << endl;
}
return 0;
}
Můžou tam být chyby, jelikož jsem to nestihl zkontrolovat a vyzkoušet(musím odejít)..
Jj , takhle když na to kouknu tak to vypadá dobře, ale ještě sme hodně věcí nedělaly, takže bych to takhle radši neodevzdával ... =) Berem věci jako cykly, vstup a výstup do souboru , pole, řetězce, takže nejlíp to řešit přes základy nějak .. Máme na to DEV c++ .. Nějak přes cykly a pole to řešit .. a výsledek vypsat do dvourozměrného pole ... COŽ ?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Počet písmen ve slovech v textovém souboru — založil Tonda
Pocet slov (zadanych uzivatelem) v souboru — založil johnyxxP
Program - opakování slov — založil carlos
Opakování slov ve stringu — založil LFS
Počet stejných prvků v poli — založil pin2k
Moderátoři diskuze