- Autós kamerák
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- AMD Navi Radeon™ RX 9xxx sorozat
- Sofabaton (logitech harmony alternatíva)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- PCI bővítőhelyet elfoglaló Icy Dock mobilrack M.2-es SSD-knek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Azonnali alaplapos kérdések órája
- Androidos tablet topic
Új hozzászólás Aktív témák
-
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á.
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.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Gyúrósok ide!
- Samsung Galaxy A36 5G - a középső testvér
- Apple iPhone 16 Pro - rutinvizsga
- Brogyi: CTEK akkumulátor töltő és másolatai
- Autós kamerák
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- AMD Navi Radeon™ RX 9xxx sorozat
- Egyéni arckép 1. lépés: ARCKÉPHEZ VALÓ JOGOSULTSÁG
- Sofabaton (logitech harmony alternatíva)
- Álláskeresés, interjú, önéletrajz
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest