Ahoj.
Mám úkol: spočítat průměr platů který uživatel zadá v jednom řetězci. Hodnoty budou odděleny čárkami. Co s tím? Nedovedu si představit řešení.
Console.WriteLine("\nZadejte hodnoty platů. Oddělte jednotlivé hodnoty čárkami.: ");
string platy = Console.ReadLine();
string[] subs = platy.Split(',');
foreach (string sub in subs) // foreach pouze pro čtení
{
Console.WriteLine($"Jedna zadaná částka:{sub}");
}
}
}
}
Tak naposled:
- uživatele zadá string
- ty ten string rozdělíš metodou Split() podle čárek do pole stringů
- délka toho pole určuje počet prvků v tom poli = počet zadaných platů
- jednotlivé položky toho pole převedeš na čísla (Parse() či TryParse()) a sečteš
- výsledek součtu vydělíš počtem platů
#1 Evzzen
Evžene, když neumíš spočítat průměr, což je učivo v hodinách počtů v 6.třídě základní školy, tak v takovém případě doporučuji změnit školu a zkusit nějakou manuální práci. Třeba počišťovač, noční hlídač a podobně. To jsou prefese velmi žádané a netřeba u nich znát počty
Myslím, že nepochopil int.Parse - má v hlavě pořád stringy a neví jak s nima počítat.
"13 5 6 7 35 56"
1. split(' ') = ["13", "5", "6", "7", "35", "", "56"] // rozdelit
2. ["13", "5", "6", "7", "35", "56"] // odstranit cyklem necisla "" nebo "text"
3. parseInt = [13, 5, 6, 7, 35, 56] // prevest string na integer cisla
4. suma = suma + pole[i]; prumer = suma / delka(pole) spocitat prumer
Krok 2 bys tam mel mit, abys tam nemel prazdne polozky, ktere ti daji pri prevodu na int 0. A zvetsi ti delku pole. Tim padem se ti posune i prumer.
["13", "5", "6", "7", "35", "", "56"]
["13", "5", "6", "7", "35", "56"]
[13, 5, 6, 7, 35, 56]
suma = 13 + 5 + 6 + 7 + 35 + 56 = 122
count = 6
prumer = suma / count = 122/6
["13", "5", "6", "7", "35", "", "56"]
[13, 5, 6, 7, 35, 0, 56]
suma = 13 + 5 + 6 + 7 + 35 + 0 + 56 = 122
count = 7
prumer = suma / count = 122/7 - to je pak uplne jine cislo
No, a kdyz nepouzijes prevod ze string na integer, tak se stane toto:
suma = "13" + "5" + "6" + "7" + "35" + "56" = "135673556"
count = 6
prumer = "135673556" / 6
Bud to mapise error.
Nebo si to zkonvertuje pri deleni sam na cisla, prumer 135673556 / 6
Jenze, to da stejne jiny vysledek.
U programovani musis mit hodne predstavivosti nebo si neustale vypisovat, co ti to udelalo.
Tak nevim jestli Evzzen neni rodný bratr Monteza, nebo snad kamarad ze skoly, no nedej buh aby to nebyl klon.
Mam nad čím přemýšlet
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku