Kezdőoldal » Számítástechnika » Programozás » Egy tömb elemeinek megszámolás...

2105as kérdése:

Egy tömb elemeinek megszámolása, melyik elemből mennyi darab van, hogyan kell megoldani?

Figyelt kérdés

Nem értem, hogyan lehetne leprogramozni, illetve egyfajta magyarázatot szeretnék, mivel nincs aki elmagyarázza és én meg nem jövök rá .

(esetleg részletes magyarázat és egy kis példa)

(c# nyelv)

Mivel az érettségi feladatokat nézve, oldva nem csak egyszer előjött, hogy pl : hányszor fordulnak elő az elemek, tehát a tömbben lévő összes elemet (van közte azonos elem is ) végig nézem és egy másik tömb (int típusú) -nak növelem az i. elemtét, de hogy adja hozzá a megfelelő helyre hogy kiíratásnál jó eredményt adjon?


Rémélem érthető, lehet kicsit a vége értetlen de azért a lényeg kivehető, hogy mit is nem értek.


2017. ápr. 16. 19:00
 1/4 anonim ***** válasza:

Egy olyan adatszerkezetet keress a darabszámok eltárolásához, ami egy kulcshoz egy értéket társít, pl:


"Ceruza" - 2

"Radír" - 15

"Füzet" - 7

"Toll" - 10

2017. ápr. 16. 20:23
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Erre több féle megoldás is létezik. Két egyszerűbb:


- Sortolod (sorba rendezed) az elemeket, majd megszámolod őket, értelemszerűen addig lépteted a számlálót, amíg az új elem megegyezik a korábban olvasottal.


- létrehozol egy szimpla adatszerkezetet, ami tartalmaz egy elemazonosítót és egy számlálót. Majd végigmész az adattömbön és ahol új elemet találsz, ott az adatszerkezetek listájába felveszed az elemet és a számlálóját 1-re állítod, ha nem létezik az aktuális (éppen viszgált) listaelem akkor létrehozod, ha már van, akkor a számlálóját inkrementálod (megnöveled eggyel).


Adott esetben a számláló hozzárendelése az első verziónál is szükséges lehet, csak kérdéses, hogy mi a végcél?

2017. ápr. 16. 21:23
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

C# nyelvben az ilyen fajta feladatokat nagyon könnyen meg lehet oldani Linq segítségével.


pl.: van egy gyümölcsök neveit tartalmazó string tömb és meg akarjuk számolni, hogy melyik mennyiszer szerepel a tömbben.

linqval ez így néz ki:


var eredmeny = gyumolcsok.GroupBy(szo => szo).Select(g => new { Gyumolcs = g.Key, Darab = g.Count() });


foreach (var elem in eredmeny)

{

Console.WriteLine($"{elem.Gyumolcs}: {elem.Darab}");

}


GroupBy - csoportosítás a tömb elemei szerint

Select - lekérdezünk a csoportosításból

( .Key szavak, .Count() összeszámolja miből mennyi van )

2017. ápr. 16. 21:28
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Már az előző kérdésednél is kaptál rá kész kódot, ne szerencsétlenkedjél már...
2017. ápr. 16. 21:54
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!