Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.
Avatar
pajamac5
Člen
Avatar
pajamac5:17.9.2014 18:18

Zdravím chtěl bych poprosit o ukázku kódu jak udělat program který by generoval textovou řadu:a,aa,ab,ac,ad,a­e,af až po zzz.

Odpovědět
17.9.2014 18:18
Co tě nezabije se tě pokusí zabít znovu.
Avatar
qwertyW
Tvůrce
Avatar
Odpovídá na pajamac5
qwertyW:17.9.2014 18:48

domácí úkol?
podle mě, se to dá napsat pomocí tohoto návodu http://www.itnetwork.cz/…e-split-join + cyklů

Editováno 17.9.2014 18:50
Nahoru Odpovědět
17.9.2014 18:48
Programuji, tedy jsem.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na pajamac5
Jan Vargovský:17.9.2014 18:52

nemyslíš a, b, c, ..., z, aa, ab, ac, ..., zz, aaa, aab, ..., zzz?

 
Nahoru Odpovědět
17.9.2014 18:52
Avatar
Odpovídá na pajamac5
Neaktivní uživatel:17.9.2014 18:55

Veď si to skús naprogramovať sám nie? Keď ti to niekto spraví nikdy tomu nebudeš rozumieť...

Nahoru Odpovědět
17.9.2014 18:55
Neaktivní uživatelský účet
Avatar
pajamac5
Člen
Avatar
pajamac5:17.9.2014 19:01

QwertyW:Moc děkuji hned to zkusím.

Jan Vargovský:Ano přesně to myslím.

Jerry:Není mi 9 abych to nezkusil strávil jsem nad tím dlouhou dobu ale bezvýsledně.A já když vidím cizí kód tak se to naučím :)

Nahoru Odpovědět
17.9.2014 19:01
Co tě nezabije se tě pokusí zabít znovu.
Avatar
pajamac5
Člen
Avatar
pajamac5:17.9.2014 20:35

Tak po dalším zkoumání se mi podařilo udělat kod který by měl fungovat ale dělá mi prapodivné věci zde je kód: http://www.itnetwork.cz/dev-lighter/430

A zde je výstup:

a
b
c
d
e
f
g
h
ch
i
b
a
b
b
b
c
b
d
b
e
b
f
b
g
b
h
b
ch
b
i

Nevíte někdo co s tím?

Editováno 17.9.2014 20:35
Nahoru Odpovědět
17.9.2014 20:35
Co tě nezabije se tě pokusí zabít znovu.
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na pajamac5
tomisoka:17.9.2014 21:05

Nebylo by lepší použít ASCII tabulku?
Jinak tohle by mělo ( C# nepoužívám) vypsat do console znaky a-z :

int i;
for(i=(int) 'a'; i <= (int) 'z'; i++)
Console.WriteLine((char) i);

zbytek by neměl být problém.

 
Nahoru Odpovědět
17.9.2014 21:05
Avatar
coells
Tvůrce
Avatar
Odpovídá na pajamac5
coells:17.9.2014 21:38

Jedna pro radost :-)

class Program
{
    static void Main(string[] args)
    {
        var text = string.Join(",", Combine(_alphabet, 3));
        Console.WriteLine(text);
    }

    public static readonly string _alphabet = "abcdefghijklmnopqrstuvwxyz";

    public static IEnumerable<string> Combine(string source, int length)
    {
        return (length > 0) ? Combine(source, length - 1).Concat(Combine(source, length - 1).SelectMany(p => source.Select(s => p + s))) : new [] { "" };
    }
}
 
Nahoru Odpovědět
17.9.2014 21:38
Avatar
thes01
Člen
Avatar
thes01:19.9.2014 16:13

Mohlo by fungovat - nezkoušel jsem:

private void Vypis()
{
        for (int n = 1; i <= 3; i++) // počet písmen k vypisování na 1 řádku
        {
                for (int letter = (int) 'a'; letter <= (int) 'b'; letter++) // cyklus od a do z
                {
                        for (int _n = 1; _n <= n; _n++) // pro každý řádek se n-krát vypíše písmeno
                        {
                                Console.Write((char) letter);
                        }
                        Console.WriteLine(); // nový řádek
                }
        }
}
Nahoru Odpovědět
19.9.2014 16:13
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
thes01
Člen
Avatar
Odpovídá na thes01
thes01:19.9.2014 16:14

oprava - v tom druhém cyklu má být for (int letter = (int) 'a'; letter <= (int) 'z'; letter++)

Nahoru Odpovědět
19.9.2014 16:14
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
thes01
Člen
Avatar
Odpovídá na thes01
thes01:19.9.2014 17:06

jo :D a ještě v definici prvního cyklu tam má být všude proměnná n (síla zvyku.. :D)

Nahoru Odpovědět
19.9.2014 17:06
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
coells
Tvůrce
Avatar
Odpovídá na thes01
coells:19.9.2014 18:14

a jak vygeneruješ "abc"?

 
Nahoru Odpovědět
19.9.2014 18:14
Avatar
thes01
Člen
Avatar
thes01:19.9.2014 18:41

jo - to je pravda, špatně jsem si přečetl zadání..

Nahoru Odpovědět
19.9.2014 18:41
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
thes01
Člen
Avatar
thes01:20.9.2014 12:21
class Program
    {
        static void Main(string[] args)
        {
            Console.Write(Generate("",4));
            Console.ReadLine();
        }

        private static string Generate(string prefix, int number)
        {
            if (number == 0)
            {
                return "";
            }

            if (number == 1)
            {
                return prefix + Environment.NewLine;
            }

            string output = "";

            for (int i = (int)'a'; i <= (int)'z'; i++)
            {
                output += Generate(prefix + (char)i, number - 1);
            }

            return output;
        }
    }

Takové míň funkcionální řešení než coellsovo

Nahoru Odpovědět
20.9.2014 12:21
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
thes01
Člen
Avatar
Odpovídá na thes01
thes01:20.9.2014 12:27

zajímavé je, že pro n<=3 je rychlejší moje, ale pro vyšší n už je výrazně rychlejší coellsovo

Nahoru Odpovědět
20.9.2014 12:27
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
coells
Tvůrce
Avatar
Odpovídá na thes01
coells:20.9.2014 12:32

ani ne, důvod je vidět při prvním pohledu

 
Nahoru Odpovědět
20.9.2014 12:32
Avatar
thes01
Člen
Avatar
Odpovídá na coells
thes01:20.9.2014 13:13

..optimalizace v LINQu?

Nahoru Odpovědět
20.9.2014 13:13
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
Avatar
coells
Tvůrce
Avatar
Odpovídá na thes01
coells:20.9.2014 14:29

:-D To bych nenazýval prvním pohledem. Zlepši práci se stringem a uvidíš.

 
Nahoru Odpovědět
20.9.2014 14:29
Avatar
thes01
Člen
Avatar
Odpovídá na coells
thes01:20.9.2014 22:32

no, do takové hloubky jazyka jsem se ještě nedostal - máš na mysli nějakou konkrétní nedokonalost?

Nahoru Odpovědět
20.9.2014 22:32
Kdo chce, hledá způsoby, kdo nechce, hledá výmluvy.
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 19 zpráv z 19.