NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 11 - Textové řetězce v C# podruhé - Práce s jednotlivými znaky

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Insane Qurd
Tvůrce
Avatar
Odpovídá na dleducmanh6
Insane Qurd:16.8.2015 18:23

Ahoj, asi myslíš tohle:

Console.Write("Heslo");
if (Console.ReadLine() == "sims")
   Console.WriteLine("vítej");
else
   Console.WriteLine("ne");

contains nepoužívej, to ti to pak vezme každý textový řetězec obsahující s

Odpovědět
16.8.2015 18:23
It's impossible to say it's impossible.
Avatar
dleducmanh6
Člen
Avatar
dleducmanh6:17.8.2015 10:41

Ne, myslel jsem to s 1 porměnnou navíc asi takhle: Console.Write­Line("Zadej heslo:");
string h = "sims";
string s = string.parse (Console.Read­Line());
if (h != s)
Console.WriteLine ("Vítej");
else
Console.WriteLine ("Zadané heslo je špatně");
Console.ReadLine ();
Ale pořád nevím co je tam špatně :/.

 
Odpovědět
17.8.2015 10:41
Avatar
dleducmanh6
Člen
Avatar
dleducmanh6:17.8.2015 13:21

nevíte někdo jak to udělat? :/

 
Odpovědět
17.8.2015 13:21
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na dleducmanh6
Milan Křepelka:17.8.2015 13:41
Console.WriteLine("Zadej heslo:");
string h = "sims";
string s = Console.ReadLine();
if (h.Equals(s))
    Console.WriteLine("Vítej");
else
    Console.WriteLine("Zadané heslo je špatně");
Console.ReadLine();
 
Odpovědět
17.8.2015 13:41
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na Lukáš Nový
krepsy3:5.10.2015 17:39

Když jsi při šifrování prováděl:
if (c == 'z')
c = (char((int)c - 26)

Tak musíš při dešifrování udělat pravý opak:
if (c == 'a')
c = (char)((int)c + 26)

Protože tam, kde se při šifrování ošetřovalo "maximum" písmeno z,
tam se nyní ošetřuje "minimum" písmeno a ;)

Odpovědět
5.10.2015 17:39
Programátor je stroj k převodu kávy na kód.
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na krepsy3
krepsy3:5.10.2015 17:45

Kecám, promiň: ;)
šifrace:
if (c > (int)'z')
c = (char((int)c - 26)

dešifrace:
if (c < (int)'a')
c = (char((int)c + 26)

Odpovědět
5.10.2015 17:45
Programátor je stroj k převodu kávy na kód.
Avatar
rimodar65
Člen
Avatar
rimodar65:30.1.2016 22:50

Nějakmi nejde drobná úprava
>
Analýza výskytu znaků ve větě
>

Console.WriteLine("Zadej slova a já ti spočítám samohlásky, souhlásky a mezery.Zadávání ukonči ENTEREM");
           String s = Console.ReadLine();
            int a = int.Parse(s);
            Console.WriteLine(s);//TOHLE MI NEJDE
            while (a > 0)
            {

           s = s.ToLower();// převod na malá písmena
           // inicializace počítadel
           int pocetSamohlasek = 0;
           int pocetSouhlasek = 0;

           // definice typů znaků
           string samohlasky = "aeiouyáéěíóúůý";
           string souhlasky = "bcčdďfghjklmnpqrřsštťvwxzž";

           // hlavní cyklus
           foreach (char c in s)
           {
               if (samohlasky.Contains(c))//contains prohledá c jestli se v ní nachází samohlásky
                   pocetSamohlasek++;
               else
                   if (souhlasky.Contains(c))
                       pocetSouhlasek++;
           }
           Console.WriteLine("Samohlásek: {0}", pocetSamohlasek);
           Console.WriteLine("Souhlásek: {0}", pocetSouhlasek);
           Console.WriteLine("Nepísmenných znaků: {0}", s.Length - (pocetSamohlasek + pocetSouhlasek));
           Console.WriteLine("Znaků je celkem:{0}", pocetSamohlasek + pocetSouhlasek);

           Console.ReadKey();
 
Odpovědět
30.1.2016 22:50
Avatar
rimodar65
Člen
Avatar
rimodar65:30.1.2016 23:04

Po přečtení dřívějších dílů asi chápu chybu,tak na to jdu jinak.....

 
Odpovědět
30.1.2016 23:04
Avatar
Dominik Gavrecký:10.4.2016 23:01

Nech sa na to pozriem ako chcem nerozumiem prečo práve "char c". Rozumiem že sme určili dátoví typ na char premene c ale čo ta premenná obsahuje ? Je to nejaká špeciálna metoda ktorá rozoberie string na jednotlivé hodnoti pola a už ho len prechádza práve cez to in ? Mohol by mi to niekto logický popísať ? Ďakujem

// hlavní cyklus
foreach (char c in s)
{

}
Odpovědět
10.4.2016 23:01
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Petr Šťastný
Tvůrce
Avatar
Petr Šťastný:18.4.2016 10:50

Ahoj, to počitadlo souhlásek, samohlásek atd by šlo udělat jednodušeji:

string s = "Programátor se zasekne ve sprše, protože instrukce na šampónu byly: Namydlit, omýt, opakovat.";

            s = s.ToLower();

            int a = 0;
            int b = 0;
            int c = 0;

            string samo = "aeiouyáéěíóúůý";
            string sou = "bcčdďfghjklmnpqrřsštťvwxzž";


            foreach (char h in s)
            {
                if (samo.Contains(h))
                    a++;
                else if (sou.Contains(h))
                    b++;
                else
                    c++;

            }
            Console.WriteLine("Samohlasek: {0} | Souhlasek: {1} | Ostatni znaky: {2}", a, b, c);
            Console.ReadKey();
 
Odpovědět
18.4.2016 10:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 115.