Weboldalunk cookie-kat használhat, hogy megjegyezze a belépési adatokat, egyedi beállításokat, továbbá statisztikai célokra és hogy a személyes érdeklődéshez igazítsa hirdetéseit. További információ
Főoldal Belépés/Regisztráció Egy véletlen kérdés Facebook






Kategória: Számítástechnika » Programozás

A kérdés

Hogyan kellene megoldani a 7-es illetve 8-as feladatot? (c#)

Magán az egész feladatsoron sokat gondolkoztam, hogy össze tudjam egyáltalán ezt hozni, de a 7-es/8-asra csak if-es megoldás jut eszembe, viszont gondolom biztos meg lehet rövidebben is oldani. Neten az aggregate függvényt találtam esetleges megoldásra, viszont nem tudtam rájönni, hogy jelen esetben hogyan is kéne használnom. Tudnátok esetleg segíteni?


[link]


(ui.:Tudom, hogy a kódom tele van felesleggel és sallanggal/túlbonyolítással nem mellesleg átláthatatlan lehet másoknak, de jelenleg ez az amire egyedül képes vagyok, viszont az építő kritikát szívesen fogadom, ha van)


[link]



  máj. 15. 21:33  Privát üzenet  

A válaszok
1 2
A kérdező kommentje:

*az első 2 feladatot már átjívítottam és elvileg jók is a megoldások, csak már nem tudom módosítani a kódot, újrafeltölteni meg csak emiatt nem akarom, ah úgyse azokon a feladatokon van a hangsúly

# 1/12Időpont máj. 16. 00:25 Privát üzenet
Ilyenkor amit használni szoktunk, az a switch.

A válaszíró 64%-ban hasznos válaszokat ad.
# 2/12Időpont máj. 16. 04:08 Privát üzenet
Hasznos számodra ez a válasz?
A kérdező kommentje:

Arra is gondoltam igen, de itt az a baj intervallumok kellenének a switch-hez, nem konkrét számok

# 3/12Időpont máj. 16. 09:57 Privát üzenet

7: Az if teljesen jó az intervallumokhoz.

8: Ez meg egy for ciklus, de előtte a tömbödet sorba kell rendezni, nap és azon belül fuvarszám szerint.

Az aggregate függvényt egyiknél se tudod használni, nem is ártem hogy jutott eszedben.

Elég lenne egyszer beolvasni a fájlt.

A beolvasas osztály nekem teljesen feleslegesnek tűnik.



A válasz 100%-ban hasznosnak tűnik. A válaszíró 73%-ban hasznos válaszokat ad.
# 4/12Időpont máj. 16. 14:55 Privát üzenet
Hasznos számodra ez a válasz?
A kérdező kommentje:

? hol látod, hogy 2x olvastam volna be?


Egyébként a 7-est azt sikerült megoldanom végül egy switchel ahol egy case pl így néz ki


case var tav when (uthossz >= 1 && uthossz <= 2):

fizetes = 500;

break;



A 8-ast így utólag én már úgy próbálkoztam egcsinálni, hogy az eddigi feladatokkat is, azaz linq-val. Előszőr létrehozok egy var-t ami meghatározza a legkisebb napot ami előfordul a szövegállományban majd indítok egy forciklust "i"-vel ami a minimum naptól indul és a maximumig tart. Ezután csinálok még 2 var-t ahol meghatározom az adott naphoz a minimum és a maximum var-t is.


var minnap = t.Min(x => x.nap);


for (int i = minnap; i <= maxnap; i++)

{

var maxfuv = t.Where(x => x.nap == i).Select(x => x.fuvarszam).Max();

var minfuv = t.Where(x => x.nap == i).Select(x => x.fuvarszam).Min();

for (int j = minfuv; j < maxfuv; j++)

{

fizetes = t[j].megtettut * 500;

Console.WriteLine(t[i].nap + "nap" + fizetes);

Console.WriteLine("{0} .nap {1} .fuvaránál {2} Ft volt a fizetés",t[i].nap,t[i].fuvarszam,fizetes);

}

}



Azonban ez jelenleg nem jó ugyanis a maxfuv/minfuv-hoz azt írja ki hibának, hogy a sorozat nem tartalmaz elemeket.



# 5/12Időpont máj. 16. 18:24 Privát üzenet
A kérdező kommentje:

*ui.:a fizetéses rész kiszámolása se lett még megoldva, ugyanis látszik, hogy mindig 500-al számolna, ezért arra gondoltam, hogy oda egy olyan változót kéne megadni ami a kilométertől függően változik, amit pedig az előző feladatból talán le lehet kérdni (nem tudom hogy le elhet-e csak gondolom, hogy igen). Ezért talán egy get-set-tel lehetne megvalósítani SZERINTEM

# 6/12Időpont máj. 16. 18:26 Privát üzenet
A kérdező kommentje:

Végül megoldottam az egészet,úgy hogy ahol eredetileg 7-es feladat lett volna oda csak switchet írtam és ez a függvény fogadott egy int értéket így mind a 7-esnél, mind a 8-casnál csak átadtam a megfelelő paramatétert ennek a switches fgv-nek+raktam bele hibakezelés révén if-eket (a try-catch-el még nem próbálkozok, bár az inkább kivétel kezelésre jó HA jól tudom)

# 7/12Időpont máj. 19. 18:47 Privát üzenet
A kérdező kommentje:

ui.:egyedül a 2 szempont szerinti rendezés nem akar valamért jó lenni, esetleg még ha azt emgnézné valaki, hogy mért azt megköszönném


[link]



# 8/12Időpont máj. 19. 19:55 Privát üzenet
A kérdező kommentje:

Elfejtettem írni, hogy a probléma főleg a fuvar résszel van.

Minden naphoz jó fuvar és kilométer tartozik(látszólag legalábbis), a sorrend viszont csak hellyel-közzel stimmel, mivel ugyan a napok jó jorrendben (növekvőben vannak), ezzel szemben a fuvarnál van olyan, hogy pl így jön


1 nap 20 fuvar 15 km

1 nap 1 fuvar 3 km

1 nap 2 fuvar 4 km

1 nap 3 fuvar 5 km

1 nap 12 fuvar 6 km

1 nap 4 fuvar 7 km

1 nap 5 fuvar 8 km



# 9/12Időpont máj. 19. 20:26 Privát üzenet
Nem csak az egyes adattagokat kellne cserélned, hanem az egész tömbelemeket. Azonkívül a csere feltétele se jó.

A válaszíró 73%-ban hasznos válaszokat ad.
# 10/12Időpont máj. 19. 21:28 Privát üzenet
Hasznos számodra ez a válasz?
1 2

Értesítsünk róla, ha új válasz érkezik? Válasz küldése



Kapcsolódó kérdések
Mit csináltok, ha otthon, pár nap alatt olyan feladatot kell megoldani programozásban, amilyet még sohase csináltatok?
Programozás beadandóhoz kellene segítség. A feladatot lentre írom. Bármilyen segítség jól jönne. C#-ban programozunk és annyi, hogy egyszerűen kéne (tömb, elöltesztelő,...
Hogyan oldanatok meg ezt a feladatot Pythonban?
E feladatot milyen algoritmussal lehet megoldani? (bővebben lent)
Hogyan oldanátok meg ezt a feladatot Pythonban? "Írj egy cserel (s, regi, uj) függvényt, amely kicseréli a regi összes elofordulását az uj-ra az s szrtingben. "
Hogyan tudok több modult, feladatot Arduino. Ban irányítani? Úgy értem, hogy ne minden futtassa le a "void loop"-ban?

Kérdések a Számítástechnika rovatbólKérdések a Programozás rovatból








Minden jog fenntartva © 2019, www.gyakorikerdesek.hu | GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | WebMinute Kft. | 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!