Keresés

Hirdetés

Új hozzászólás Aktív témák

  • stevve

    nagyúr

    válasz Vasinger! #1595 üzenetére

    Idióta egy feladat... legalább életszerű példa lenne, de ebből így mit tanulsz meg? Gyakorlatilag semmit. Na mindegy.

    Szóval az a lényeg, hogy az IndexOf megkeresi az első "," karakter indexét a beolvasott stringben (csak azt vizsgáltam, ha nem üres, de azt is kellene, ha nincs "," benne, meg nincs intre ellenőrzés, meg a szám 1-5 közöttre sem). A string elejéről indulva először a 0. karaktertől keressük. Ha találtunk és még nem értük el a string végét, akkor az előbb megtalált index mögé tesszük a következő körben az IndexOf kiindulási pontját, így már a másodikat fogja megtalálni. Ha még mindig nem értük el a fájl végét, megyünk még egy kört, de már nincs több ",".

    Közben az index előtti karaktert számmá alakítva egy összeghez adjuk. Így már meg is van két szám és mivel tudjuk, hogy csak 1 számjegyű számaink vannak, az utolsót úgy vesszük ki, hogy a string vége előtti karaktert alakítjuk számmá és adjuk az összeghez. Közben egy darabszámot növelgetünk 1-től és a végén átlagolunk.

    Bugyuta, értelmetlen, de nem egyszerű feladat. Sok szebb, gyorsabb, egyszerűbb megoldás lenne rá. :DDD

    A kód:

    private static void Main(string[] args)
    {
    string str = Console.ReadLine();
    double szum = 0;

    if (!String.IsNullOrEmpty(str))
    {
    int end = str.Length;
    int start = 0;
    int indexOf = 0;
    int darab = 1;

    while ((start <= end) && (indexOf > -1))
    {
    indexOf = str.IndexOf(",", start);

    if (indexOf == -1) break;

    szum += Convert.ToInt32(str.Substring(indexOf - 1, 1));
    start = indexOf + 1;
    darab++;
    }
    szum += Convert.ToInt32(str.Substring(str.Length - 1, 1));

    Console.WriteLine(@"Az összeg: {0}",szum);
    Console.WriteLine("-----------");
    Console.WriteLine(@"Az átlag: {0}", szum/darab);
    }

    Console.ReadLine();
    }

    ArchElf:
    A tanár talán azt sem tudja, mi a TryParse, én bele se mertem tenni, meg a tömb csalás... nem volt benne a kiírásban. :D

    [ Szerkesztve ]

Új hozzászólás Aktív témák