C#-ban egy string listából függvénnyel kivásztani a leghosszabbat. Hogyan? Egy int-et bevezetni a hosszra? De akkor hogy írja ki az adott szót?
Maximumkiválasztás, a hosszt hasonlítod, de az indexet tárolod.
leghosszabbIndexe := 1
N := lista.hossz()
ciklus i = 2 .. N
ha lista[i].hossz() > lista[leghosszabbIndexe].hossz() akkor leghosszabbIndexe := i
ciklus vége
kiír "Leghosszabb: " + lista[leghosszabbIndexe]
oké, de akkor ez mért nem jó?
int maxa =1;
for (int i = 0; i < Lista.Count; i++)
{
if (maxa < lista[i].Length)
{ maxa = lista[i].Length }
}
Console.WriteLine(lista[maxa]);
A lista indexének nem adhatom a maxa intet?
> de akkor ez mért nem jó?
Mittudomén, mi a hiba? Fordítási vagy futtatási? Fordítási: mi a hibaüzenet? Futtatási: mi a hibaüzenet vagy mi a hibajelenség?
Ne a string hosszát tárold el, hanem magát a string-et.
string max = "";
foreach (string e in lista) {
if(max.Length<e.Length) {
max = e;
}
}
foreach(KollekcióElemTípusa elem : kollekció) {
// dolgozol az elem változóval, ami a kollekció aktuális eleme
}
Ekvivalens azzal, hogy mész egy ciklussal a kollekció elemein 0-tól N-ig, és elem változónak odaadod a kollekció[i]-t.
Ennyi a lényeg.
Amúgy még Wikin is fent van:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!