Počet opakování stejných slov v textovém souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Počet opakování stejných slov v textovém souboru – C / C++ – Fórum – Programujte.comPočet opakování stejných slov v textovém souboru – C / C++ – Fórum – Programujte.com

 

tomstein0
Duch
19. 4. 2008   #1
-
0
-

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 ???

Nahlásit jako SPAM
IP: 82.100.0.–
yaqwsx+9
Posthunter
19. 4. 2008   #2
-
0
-

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..

Nahlásit jako SPAM
IP: 85.160.93.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tomstein0
Duch
19. 4. 2008   #3
-
0
-

Ano ano.. tohle ..což algoritmus by šel , ale vzhledem k tomu, že sem začátečník , tak napsat tohle bude horší .. páš mapy sme nebrali ještě ... NEVÍ NĚKDO JAK TO NAPSAT ? :)))

Nahlásit jako SPAM
IP: 82.100.0.–
yaqwsx+9
Posthunter
19. 4. 2008   #4
-
0
-

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)..

Nahlásit jako SPAM
IP: 85.160.93.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
tomstein0
Duch
19. 4. 2008   #5
-
0
-

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Ž ?

Nahlásit jako SPAM
IP: 82.100.0.–
tomstein0
Duch
19. 4. 2008   #6
-
0
-

Potřebuju to jednoduše v C -jako "Console Application" .. Nikoliv přes vyšší c ++ .. Jenoduchej c project =)

Nahlásit jako SPAM
IP: 82.100.0.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 69 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý