Diskuze: String pole

C# .NET .NET (C# a Visual Basic) String pole American English version English version

Avatar
plouteev
Člen
Avatar
plouteev:

Dobrý den, chtěl bych se zeptat, máme ve škole na procvičení udělat přiklad, který zní: Čtěte z klávesnice text do dvourozměrného pole [2,20] a to tak, že samohlásky se budou psát do druhého řádku.

Zkoušel jsem něco napsat, ale pořád mi to nejde. Chtěl bych se vám zeptat, jestli nemáte náhodou nějaký nástřel řešení?

 
Odpovědět 21.12.2011 12:14
Avatar
Odpovídá na plouteev
David Jančík [sczdavos]:

Dobrý den,
pokud jsem vás správně pochopil... Stačí načíst text a pak jej v cyklu projet po znacích a kontrolovat zda je písmeno samohláska.

String text = Console.ReadLine();//načtu si text z klávesnice
            char[,] array = new char[2, 20];//vytvořím si pole
            char[] samohlasky = { 'a', 'e', 'i', 'y', 'o', 'u' };//zde je pole se samohláskama

            for (int i = 0; i < text.Length; i++)
            {
                //pokud je písmenko samohláska
                if (samohlasky.Contains(text[i]))
                {
                    array[1, i] = text[i];
                }
                else
                {
                    array[0, i] = text[i];
                }
            }

Trošku si to poupravte, aby pole bylo přehlednější a ošetřete přetečení...

Nahoru Odpovědět 21.12.2011 13:21
Čím více času dostaneš, tím méně ho máš.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David Jančík [sczdavos]
David Čápka:

Tohle fungovat nebude, musíš si držet 2 indexy (třeba j, k) pro každé pole. Podle podmínky pak zvýšit příslušný index. Takhle ty pole budou děravý.

Nahoru Odpovědět 21.12.2011 13:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na David Jančík [sczdavos]
David Čápka:
String text = Console.ReadLine();//načtu si text z klávesnice
            char[,] array = new char[2, 20];//vytvořím si pole
            char[] samohlasky = { 'a', 'e', 'i', 'y', 'o', 'u' };//zde je pole se samohláskama

int j = 0;
int k = 0;
            for (int i = 0; i < text.Length; i++)
            {
                //pokud je písmenko samohláska
                if (samohlasky.Contains(text[i]))
                {
                    array[1, j] = text[i];
                    j++;
                }
                else
                {
                    array[0, k] = text[i];
                    k++;
                }
            }
Nahoru Odpovědět 21.12.2011 13:34
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
David Jančík [sczdavos]:

Tohle jsem myslel případným poupravením. Nevěděl jsem co s výsledným polem chce dělat.

Nahoru Odpovědět 21.12.2011 19:08
Čím více času dostaneš, tím méně ho máš.
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 5 zpráv z 5.