Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 11. diel - Textové reťazce v C# druhýkrát - Práca s jednotlivými znakmi

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
samo007
Tvůrce
Avatar
samo007:12.2.2013 16:54

A prečo nemôžme nechať tie divné znaky, keď to ide rozšifrovať? Aspoň to bude presné a ten, kto sa k šifre dostane, nebude ju môcť rozlúštiť :D
Čo tak to zauzliť? (skúste si moju šifru)

// premenné
string s = "Povodňová aktivita a selzmické vlny.";
Console.WriteLine("Pôvodná správa: {0}", s);
string sprava = "";
int posun = 1;
int posun2 = 2;

// cyklus prechádzajúci jednotlivé znaky
foreach (char c in s)
{
    int i = (int)c;
    i += posun;
    i *= posun2;
    i -= (2 + posun);
    char znak = (char)i;
    sprava += znak;
}
Console.WriteLine("Zašifrovaná správa: {0}", sprava);

// premenné pre rozšifrovanie
string z = sprava;
sprava = "";

// cyklus pre rozšifrovanie
foreach (char c in z)
{
    int i = (int)c;
    i += (2 + posun);
    i /= posun2;
    i -= posun;
    char znak = (char)i;
    sprava += znak;
}
Console.WriteLine("Rozšifrovaná správa: {0}", sprava);
Console.ReadKey();
Editované
Avatar
burdacz
Nevyplnené
Avatar
burdacz:25.2.2013 14:10

Ještě bych na místo

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

použil

Console.WriteLine("Napiste slovo, vetu nebo souveti.");
      string s = Console.ReadLine();
:)
Avatar
Odpovedá na
Luboš Běhounek Satik:25.2.2013 14:14

Já bych použil

const string s = "Programátor se zasekne ve sprše, protože instrukce na šampónu byly: Namydlit, omýt, opakovat.";
Console.WriteLine(s);
:)
Odpovedať
https://www.facebook.com/peasantsandcastles/
Avatar
Jan.Nygdo
Člen
Avatar
Odpovedá na mienkofax
Jan.Nygdo:12.3.2013 10:54

Ma to byt:

// hlavní cyklus
foreach (Char c in s)
{
  if (samohlasky.Contains(c.ToString()))
    pocetSamohlasek++;
  else
    if (souhlasky.Contains(c.ToString()))
      pocetSouhlasek++;
}
Odpovedať
Penzista
Avatar
Petr
Nevyplnené
Avatar
Petr:13.3.2013 16:13

Prosim Vás, neví někdo jak by se dal tento program přepsat, abych mohl načíst text z textovyho souboru a v tomto texte by program prehazel vety ? Popripade slova ?

Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na
Petr Nymsa:13.3.2013 17:26

Podíve jse zde na zdější tutoriálay o práci se soubory :)http://www.it­network.cz/cshar­p/soubory

Odpovedať
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
NutelaCZ
Člen
Avatar
NutelaCZ:14.9.2013 22:33

Dobrý den,
mám problém v posledním kroku Cézarovy šifry, a netuším jak ho vyřešit. Jde o to ,že i když jsem do kódu vložil

// kontrola přetečení
if (i > (int)'z')
        i -= 26;
char znak = (char)i;
zprava += znak;

vždy my výsledek výjde s ASCII hodnotou. Prosím mohl by mi někdo vysvětlit co je špatně? moc děkuji.

Celý kód:

string s = "Zebra";
            Console.WriteLine("Původní zpráva {0}", s);
            string zprava = "";
            int posun = 1;

            foreach (char c in s)
            {
                int i = (int)c;
                i = i + posun;
                if (i > (int)'z')
                {
                    i = i - 26;
                }
                char znak = (char)i;
                zprava = zprava + znak;
            }
            Console.WriteLine("Zašifrovana zprava {0}", zprava);
            Console.ReadKey();
Avatar
Kit
Tvůrce
Avatar
Odpovedá na NutelaCZ
Kit:14.9.2013 23:15

Zajímavé. Když jsem to od tebe zkopíroval, tak mi to funguje jak má. Musíš tam mít ještě nějakou odlišnost, protože to co jsi poslal, je v pořádku.

http://www.itnetwork.cz/dev-lighter/201

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
NutelaCZ
Člen
Avatar
NutelaCZ:15.9.2013 13:07

Ahá tak jsem na to přišel kde je chyba, jelikož jsem zadal Zebra s velým Z tak to bralo jeho ASCII hodnotu jako 90 a psalo to následný znak [, teť jsem to přepsal s malým z a užto funguje jak má :)

Děkuji za pomoc :)

Avatar
Kit
Tvůrce
Avatar
Odpovedá na NutelaCZ
Kit:15.9.2013 13:28

Zkus se podívat i na redukovanou verzi, která dělá totéž.
http://www.itnetwork.cz/dev-lighter/201

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 115.