Hirdetés
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Telekom mobilszolgáltatások
- Samsung Galaxy S25 - végre van kicsi!
- Okosóra és okoskiegészítő topik
- Android szakmai topik
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Yettel topik
- Milyen okostelefont vegyek?
- Szívós, szép és kitartó az új OnePlus óra
- Amazfit T-Rex 3 Pro – világítós dínó
Új hozzászólás Aktív témák
-
Karma
félisten
Nos akkor.
Egy általános észrevétel előre. Úgy látom a közoktatás le van ragadva azon a szinten, hogy korlátozott Pascal programozást tanítanak C# nyelven. (Erről már volt szó korábban, csak bebizonyosodik.)ű
Azt még elfogadom sok szemöldökborzolás mellett, hogy a LINQ 2 Objectset nem tanítják - mert így az összes érettségi feladat megoldható lenne egy-egy sorban -, de tömbök? Komolyan? Mindkettőtöknél nagyon megy ez, ezért hiszem hogy valami központi oka van...
Konkrétan akkor a bajok. A kozmetikai dolgokba, mint kis-nagybetűk, nem megyek bele.
Ott kezdődik, hogy static tagváltozókban van az adat, de mégis minek? A main függvény dolgozik csak vele, simán mehet oda lokális változónak. A static adatmezők, más néven globális változók csak bajt hoznak, ha hozzászoktok, és mondjuk a jövőben programozni is akartok. Más szakmák esetén mindegy; de akkor a hozzászólásom többi része is irreleváns.
Az adat struktúra elmegy szódával, viszont mint mondtam, nem tömbben kéne tárolni. Vannak a C#-ban nagyon jó lista szerkezetek, amik tudják magukról, hogy hány elem van bennük - ezzel az ind változó feleslegessé válik.
A List<T> a legegyszerűbb ezek közül. A Count-on keresztül eléred az aktuális darabszámot, és vannak metódusai elem hozzáadáshoz (Add) és törléshez is (Remove). Meg lehet szögletes zárójellel az akárhanyadik elemet manipulálni.
Tehát így néz ki a program eleje eddig:
...
class Program
{
struct adat
{
public int nap, dik, tav;
}
static void Main(string[] args)
{
var fuvar = new List<adat>();
... folyt köv...
}
}Az első feladatnál is kéne használni usingot a StreamReader köré. Ezen kívül a karakterenként feldolgozás feleslegesen lábbalhajtós. A soronkénti beolvasásig jó, utána kitör a WWIII. A sort fel tudod darabolni a Split metódussal a szóközök mentén, és azonnal kipotyog a három külön szöveg.
// 1. feladat
string sor = sr.ReadLine();
while (sor != null)
{
string[] elemek = sor.Split(' ');
adat f = new adat();
f.nap = int.Parse(elemek[0]);
f.dik = int.Parse(elemek[1]);
f.tav = int.Parse(elemek[2]);
fuvar.Add(f);
sor = sr.ReadLine();
}Egy csöppet rövidebb és olvashatóbb, nem?
Aztán mivel nincs ind, a ciklusokat fuvar.Count-ig kell járatni. Ez több helyen változtat a dolgon.
Na most első körben itt megállnék, mert nem akarom túlterhelni a fórumot. Egy kicsit nehezemre esik LINQ nélkül gondolkodni, mert tényleg egy sorba összeesnének vele a feladatok
De lehet inkább beadom a derekam és bevillantom a szebb világ képét.Még annyi, hogy az üres else {} ágakat teljesen felesleges kiírni, de legalább olvashatatlan.
Ú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!
- Videós, mozgóképes topik
- Kutya topik
- Amlogic S905, S912 processzoros készülékek
- WoW avagy World of Warcraft -=MMORPG=-
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- TCL LCD és LED TV-k
- QNAP hálózati adattárolók (NAS)
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen routert?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- További aktív témák...
- HPE UPS Extended Runtime Module R8000/3, R12000/3 compatible - kiegészitő modul -rackbe szerelhető
- Dell PowerEdge M1000E Blade Chassis (CDV10)-without blades - Több db
- Dell PowerEdge R820 Blade Server- csak ház + alaplap - 2 db
- Dell PowerEdge R730 Blade Server- csak ház + alaplap -
- Dell PowerEdge R320 Blade Server- csak ház + alaplap - Több db
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3913
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4404
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- GYÖNYÖRŰ iPhone XR 128GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS3984, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
De lehet inkább beadom a derekam és bevillantom a szebb világ képét.

