Avatar
plouteev
Člen
Avatar
plouteev:21.12.2011 12:14

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
David Jančík
Tým ITnetwork
Avatar
Odpovídá na plouteev
David Jančík:21.12.2011 13:21

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
David Čápka:21.12.2011 13:32

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
David Čápka:21.12.2011 13:34
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
David Jančík
Tým ITnetwork
Avatar
Odpovídá na David Čápka
David Jančík:21.12.2011 19:08

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.