Diskuze: Zjištění počtu slov z TXT
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 26 zpráv z 26.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Musis si nacist dokument do stringu a pak pomoci foreach pocitat mezery
Dik zkusim a uvidime jak to pujde...
Jen se chci zeptat kolik mezer ma
'\n'
Kdyz chci pocitat znaky v TXT tak mi to zlobi....
Musim z znaku odecist jestli se nepletu, Tak MEZERY a NOVY RADEK ale nejak mi to
zlobi vzdy to mam o 1 - 2 cisla vic nebo min
mel by jsi ty mezery pocitat jako
if (soucasnyZnak == ' ' || soucasnyZnak == '\n')
pocetSlov++;
a ešte by si mal dávať pozor na to, keď máš v tom súbore niekoľko medzier za sebou (preklep/tabulátor)...
tabulator != mezera, tabulator ma znak \t
máš pravdu, ale nie je nič nezvyčajné, že keď stlačíš tabulátor, tak to miesto neho hodí 4 medzery...
To by se dalo osetrit nejakou vnorenou podminkou, kde bys kontroloval, zda
dalsi znak za mezerou je mezera, pokud ano, tak ho asi ignorovat 
"Počítá to blbě" - co ti na tohle máme odpovědět? Řešíš třeba prázdné řádky?
Toto mam v txt a kdyz pocitam slovo tak to vypisuje pocet slov 6. Tabulator jsme nepouzil takze nevim kde je chyba
aho ahoj
jo jo
ne ne
ano
podminka je v foreach cyklu
int pocetslov=0;
string s="nacitam do ni do souboru pomoci STREMREADRU";
foreach(char znak in s)
**{
if(znak==' ' || znak=='\n')
**{
pocetslov++;
}**
}**
Řekl bych že je tam vždy o 1 slovo více, jelikož na konci posledního řádku není \n. Stačí tedy na konci k výsledku přičíst 1.
Nahoře jsi uvedl 7 slov a napsal že ti to vypisuje 6. 6 + 1 by mělo být 7.
Mozna, by pomohlo vice se nad tim zamyslet, nez ocekavat, ze to nekdo vyresi za tebe... Ted jsem k tomu sednul a hle, vysledek je doma:
/// <summary>
/// Počítní slov pomocí cysklu a podmínek.
/// </summary>
public static int CountWords2(string s)
{
int c = 0;
for (int i = 1; i < s.Length; i++)
{
if (char.IsWhiteSpace(s[i - 1]) == true)
{
if (char.IsLetterOrDigit(s[i]) == true ||
char.IsPunctuation(s[i]))
{
c++;
}
}
}
if (s.Length > 2)
{
c++;
}
return c;
}
nebo:
/// <summary>
/// Počítání slov pomocí regex výrazu.
/// </summary>
public static int CountWords1(string s)
{
MatchCollection collection = Regex.Matches(s, @"[\S]+");
return collection.Count;
}
Stačí jet po znaku a pamatovat si jeslti jsi ve slově nebo ne. Mít pole znaků co jsou "mimoslovní". Napsal bych to sem, ale nemám teď čas.
To moje funguje take dobre
Zvlaste to s tim regex
je to
kratke a efektivni 
Tak promin ale snazim se nejvic co to jde ale bohuzel mi to nejde. Asi je to moje chyba ale to co jsme napsal nejde.A neznam nejaky IsWhiteSpace. Snazil jsme se to vyresit pomoci toho co umim ale i tak bud to pocitalo o 1 vic ci min tak promin ze jsem takovej DEBIL.
Nic se nedeje
Jen proste
asi by me vice zaujalo, kdyby jsi sem prisel s nejakou analyzou problemu...
Tohle je uplne krasna algoritmizacni uloha k procvicovani hlubsiho uvazovani...

A kdyz se nad tim logicky clovke zamysli a udela si treba i tabulku promennych a jak to asi v tom cyklu vypada, tak na to po chvilce prijde...
A nemyslim si, ze jsi debil
Naopak, mas snahu
Zkus si
projit tu horni metodu a napsat si k ni komentare 
Z nazvu je to patrne...
IsWhiteSpace = Označuje, zda zadaný znak Unicode se dělí na prázdné
místo.
IsLetterOrDigit = Označuje, zda je zadaný znak Unicode dělí písmeno nebo
desítkové číslice.
IsPunctuation = Označuje, zda je zadaný znak Unicode dělí interpunkční
znaménko.
Jak jsem k tomuto podrobnemu popisu prisel? Vzal jsam kazdy ten vyraz,
napriklad IsWhiteSpace a okopiroval ho do google
A ten mi hned jako prvni odkaz
ukazal toto: http://msdn.microsoft.com/…tespace.aspx Coz je napoveda
primo od Microsoftu 
Děkuju... za vyvětlení
a
pomoc. Příště než přidám příspěvek tak si ten problem u kterého se
seknu nechám projít hlavou dýl a snad za tu delší dobu kápnu na to.
Děkuji všem za pomoc
Zobrazeno 26 zpráv z 26.
