Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan lehet egy...

C#-ban hogyan lehet egy listában megkeresni azokat a számokat, amikből kettő van?

Figyelt kérdés

2020. jan. 23. 18:43
1 2
 11/18 tabaki ***** válasza:
54%

@#8: „Remélhetőleg nem tévesen feltételezem, hogy nem pontosan két darabot...”


Talán nem tévesen, de tény, hogy nem is alappal. Ez már nem az első olyan C#-os kérdés a napokban, amit a kérdezője úgy tesz föl, hogy még a feladatot sem képes pontosan meghatározni. Annyit közöl, hogy neki nagyjából ilyenésilyen program kéne, aztán, hogy minek, arról tapintatosan hallgat. A saját próbálkozását kérésre sem mutatja be, a hozzászólásokra nem reagál, ha kódot kap, egy vak lóért el nem árulná, hogy hasznát látta-e, vagy egy kukkot se ért belőle (pedig úgy igyekeztem, hogy maradjon kérdeznivalója...). Lehet, hogy mindez nem utal egyértelműen ugyanarra a kérdezőre, de meg se lepne, ha úgy volna. Akkor pedig az sincs kizárva, hogy az a „lista” valójában egy tömb vagy akár beolvasandó fájl.

Kíváncsi vagyok, hogy Kérdező most bemutatja-e, mit kezdett a válaszokkal (a tömbös C-megoldás is működik listákkal is). Ebből a szempontból teljesen mindegy, hogy iskolai feladatról vagy otthoni elmetornáról van szó, mindkettő csak akkor ér valamit, ha meg is érti, amit csinál, az meg nem megy a saját igyekezete és párbeszéd nélkül. Nehéz elképzelni, hogy a kapott kódot csak hozzácsapja a magáéhoz, és máris kész a módosíthatatlanul tökéletes program, amin már nincs mit kibeszélni.

2020. jan. 24. 13:03
Hasznos számodra ez a válasz?
 12/18 tabaki ***** válasza:
38%

#11, kiegészítés: „működik listákkal is”


Kérdező, míg a saját kódoddal bíbelődöl, addig is megpróbáltam teljes, működőképes programba illesztve megírni a fent említett ötvözetet:

[link]

Ez listákat használ, de, mint láthatod, egy az egyben az #5 hozzászólás algoritmusát alkalmazza, annyi különbséggel, hogy a kigyűjtött elemek száma kiolvasható doubles.Count-ból így az idx változó is fölöslegessé vált. A program egy általad megadott elemszámú listát generál, azután egy másik listába másolja a kétszer előforduló elemeket. Mindkét lista tartalmát a képernyőre írja, hogy ellenőrizhesd a működését.

2020. jan. 24. 23:57
Hasznos számodra ez a válasz?
 13/18 anonim ***** válasza:
69%
atyaúristen mi megy itt :D :D :D
2020. jan. 25. 00:52
Hasznos számodra ez a válasz?
 14/18 tabaki ***** válasza:
54%
Hm, bizonyára súlyos oka volt a lepontozásomnak, kár, hogy magyarázatra már nem futotta az ítélkező kurázsijából. Pedig nagyon igyekeztem, és úgy tűnt, nálam jól működik a program, de hát emberek vagyunk, még én is csak félig-meddig vagyok tökéletes. Tárt szívvel fogadom majd a helyesbítést, örök kezdőként csak nyerek vele, ha szembesítenek a hibáimmal.
2020. jan. 25. 07:47
Hasznos számodra ez a válasz?
 15/18 anonim ***** válasza:
100%

Jól látom tabaki, te vagy itt az ingyenes házi megcsináló cseléd?

Azért kérdezem, mert a mi osztályunk kapott jövő hétre megoldandót, küldeném akkor a feladatleírásokat.

Kösz.

2020. jan. 25. 08:26
Hasznos számodra ez a válasz?
 16/18 anonim ***** válasza:
100%

#15 az első oldalon is találsz párat, érdemes őket is megkérdezni.

Vagy csak írd ki ide a kérdést, az is elég nekik.

2020. jan. 25. 08:44
Hasznos számodra ez a válasz?
 17/18 anonim ***** válasza:
15%

#5 vagyok. Én egyébként C#-ban írtam, ezért hagytam ki direkt a metódus nevét és paraméter listáját, mert nem akartam unsafe kódokkal vacakolni, hanem tömböket használtam. Egyébként #4-es kódja C#-ban egy az egyben megy, ha engedjük az unsafe kódokat.


Az én célom csak az volt, hogy bemutassam mennyire túlkomplikálja #4-es az algoritmusát, nem akartam módosítani a paramétereken és a visszatérési értéken.


Egyébként ha valaki gyorsabb megoldást akarja, rendezze a tömböt egy n*log(n)-es megoldással és menjen végig a listán, úgy már egyszerű megtalálni a pontosan 2x előforduló elemeket.


Egyéb megszorítások, pl elemek szűkebb értékkészlete esetén pedig valószínűleg könnyen adható méggyorsabb algoritmus.


Pl.

lista.GroupBy(x => x).Where(x => x.Count() == 2).Select(x => x.Key)

2020. jan. 25. 08:57
Hasznos számodra ez a válasz?
 18/18 tabaki ***** válasza:

@#15: "Jól látom, tabaki, te vagy itt az ingyenes házi megcsináló cseléd?"


Sasszemed van, és mi tagadás, tűpontos a meghatározás. Csak küldd a feladatokat, minden tanár álma, hogy olyan kódot tegyenek le az asztalára, mint amilyent Kérdező tőlem kapott.

Szerintem valamit nagyon nem értettél meg a pimasz kérdés és a segítőkész válaszok viszonyában, Kérdező képességeiről pedig kissé túlzó, romantikus elképzeléseid lehetnek. De nem zárkózom el az elől, hogy ezeket a témákat alaposabban kitárgyaljuk, szerintem van még egy kis időnk, amíg Kérdező méltóztatik visszatérni a saját kérdéséhez, és igazolni a kedvező megítélésedet.

2020. jan. 25. 14:53
Hasznos számodra ez a válasz?
1 2

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!