Tudnátok segíteni (C++)?
Ezt a programot kellene megírnom, de elakadtam. Előre is köszi a segítséget.
Bemenet:
1. sorban bekér egy számot (1≤N≤100)
Utána ugyan ennyi sorban bekér 2 számot szóközzel elválasztva, Távolság1-től (0≤K≤300), Távolság2-től (0≤P≤300).
Kimenet:
A kimenet első sorába azon bekért elemek darabszámát, illetve sorszámát kell írni sorszám szerint növekvő sorrendben, amelyek Távolság2(P) 100-nál kisebb; és Távolság1(K) 100-nál nagyobb.
Példa
Bemenet
6
42 15
110 20
125 160
166 180
42 100
110 39
Kimenet
2 2 6
#11 Na végre egy épkézláb kód :D
Pár apró észrevételem azért ehhez is van:
- A beolvasás és a feldolgozás összevonható egy ciklus alá, az input sor feldolgozható rögtön ahogy beolvassuk, így futásidőn is spórolunk, továbbá:
- Az inputot igazából nem kell eltárolnunk, a feldolgozás után semmi szükségünk rá. Elég csak a kimeneti adatot eltárolni.
- Ha az input adatokra int helyett unsigned int típust állítunk, akkor a >=0 ellenőrzés már automatikusan jön a típusból, így azt is elhagyhatjuk.
- Általában célszerű a feldolgozást logikailag elkülöníteni a kiíratástól, így hirtelen picit szemet szúrt, hogy egy függvényben van mindkettő megvalósítva.
Nem kötekedésből írtam ezeket, csak gondoltam pár plusz megjegyzés nem árt mellé, hol lehetne picit tovább csinosítani.
Ja igen, forkoltama kódodat:
Sracok ez szep es jo hogy megcsinaljatok a beadandojat, de szinte biztos vagyok benne hogy a srac ELTE IK-s golya, szoval nem fog vele semmit erni, mivel a legtobb oktato egy ilyen kodot ertelmezni sem tud mint amilyet ti is irtatok :D
(Btw, tenyleg szep kod)
További 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!