Kezdőoldal » Számítástechnika » Programozás » Erre megoldás c-ben?

Erre megoldás c-ben?

Figyelt kérdés

Irj egy paciens nevu strukturat, ami a nev nevu mezojeben egy paciens nevet

(maximum 100 karakterbol allo szoveg), szuletesi_ev nevu mezojeben pedig egy

paciens szuletesi evet (elojeles egesz szam) tarolja.

Irj egy rendez fuggvenyt, amelynek elso parametere egy a paciensek adatait

tarolo tomb, masodik parametere pedig ezen tomb merete (elojeles egesz szam).

A fuggveny allitsa eletkor szerint csokkeno sorrendbe a paciensek tomb elemeit.

Amennyiben ket, vagy tobb paciens eletkora megyegyezik, akkor a rendezes tartsa

meg az eredeti sorrendet. (Termeszetsen az elemeket ilyenkor is a megfelelo

sorrendbe kell allitani csak az azonos eletkoru paciensek kozotti sorrend ne

valtozzon az eredetihez kepest.)


Egyszeruen nem jut eszembe hogy kellene..


typedef struct paciens{

char nev[100];

int szuletesi_ev;

}paciens;


void rendez(paciens paciensek[], int n) {

int i;

for(i=0;i<n;i++){

if(i ==paciensek[i])


ezután?



2019. márc. 18. 16:50
 1/4 anonim ***** válasza:

Megnézed a születési dátumot és ha = akkor semmi sem történik, a feltétel csak akkor hajtódik végre, ha születési dátumok eltérnek.

A klassikus rendezés (ami legkevésbé hatékony de leírni legegyszerűbb) következő képpen működik:

ciklus i megy 0-tól n -1 -ig

ciklus j megy i+1 -től n-ig

ha tomb[i]>tomb[j] akkor csere(tomb[i],tomb[j]

2019. márc. 18. 16:57
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Az az if nem lesz jó szerintem.


Ajánlok egy ilyen linket :


[link]


ui.: Nem értem suliban miért magyarul akarnak fv neveket, nagyon szokatlan.

2019. márc. 18. 16:58
Hasznos számodra ez a válasz?
 3/4 tabaki ***** válasza:

A #2 által linkelt egyszerű buborékrendezés bőven elég, és nagy erénye, hogy jól átlátható a működése. Az esetedben annyi a különbség, hogy egyszerű int tömbelemek helyett a struct-elemek megfelelő mezőit vizsgálod, például

if (t[i] > t[i+1])

helyett valahogy így:

if (paciens[i].szuletesi_ev > paciens[i+1].szuletesi_ev)

Egyébként viszont, ahogy látom, a feladat azt meséli el nagy körülményesen, hogy egy teljesen hétköznapi szám-sorbarendezés során hogyan ne csinálj semmiféle szokatlan dolgot.


„Csakhamar megcsináltuk a kísérlet előkészületeit. A szoba közepére húztuk az asztalt oly módon, hogy az nem érintkezhetett a többi bútorral. A székeket gondosan a falak körül helyeztük el, úgy, hogy kettő ne kerüljön ugyanarra a helyre, hanem legfeljebb egymás mellett álljanak, míg a képek és tapéták teljesen ugyanabban a helyzetben maradtak. A tapétákra különösen vigyáztunk, sehol nem szedtük le őket a falról, valamint az ablaküveget se szedtük ki.”

(Stephen Leacock, Karinthy Frigyes fordításában)

2019. márc. 18. 18:31
Hasznos számodra ez a válasz?
 4/4 tabaki ***** válasza:

Bocs, rosszul írtam, mert a paciens a típusnév, a tömböd neve paciens𝐞𝐤[]. Tehát:

if (paciensek[i].szuletesi_ev > paciensek[i+1].szuletesi_ev) {stb.}

A többi stimmel.

2019. márc. 19. 00:20
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!