Kezdőoldal » Számítástechnika » Programozás » C nyelv, tömbrendezés?

C nyelv, tömbrendezés?

Figyelt kérdés

Szisztok! a következő a probléma: adott a mez tömb ami az azonosítóm a programban, s hozzákapcsolódik a név és a születési év. A programom kész és lefut, márcsak rendezni kéne, ezt megis oldottam már, de a neveket egyszerűen nem tudom sehogysem úgy, hogy azok kapcsolódjanak a mezhez és a születési évhez. Bemásoltam a listázós programrészletet, valaki tudna segíteni benne?

case 5:

printf("Listazas\n");

printf("Mezszam\tNev\tSzuletesi ev\n");

int csere;

for(i=db-1; i>0; i--)

for(j=0; j<i; j++)

if(mez[j]>mez[j+1]){

csere=mez[j];

mez[j]= mez[j+1];

mez[j+1]=csere;


csere=ev[j];

ev[j]= ev[j+1];

ev[j+1]=csere;

}

for(i=0;i<db; i++)

printf("%d %s %d\n", mez[i], nev[i], ev[i]);

break;



2015. dec. 29. 15:01
1 2
 1/11 anonim ***** válasza:

(A) Használj structokat és azokat cserélgesd, így lesz elegáns.


(B) Amikor a mez-ben cserélsz, cserélj a többi tömbben is. Az évnél már megoldottad, a névnél is ugyanezt kell csinálni.

2015. dec. 29. 15:05
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:
struktúrát sajnos nem lehet használni, mert még nem tanultuk. ugyanígy meg nemtudom a név tömböt, mert az char-ként van deklarálva :(
2015. dec. 29. 15:10
 3/11 anonim ***** válasza:

> gyanígy meg nemtudom a név tömböt, mert az char-ként van deklarálva :(


Akkor deklarálj egy char típusú csere változót is, mondjuk charCsere néven.

2015. dec. 29. 15:15
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
és azt hogy tudom bevonni a rendező algoritmusba? javasolták már az strcpy-t, de ahhoz nem igazán értek, mert az utolsó 2 hetet ki kellett hagynom a félévből és elvileg annyit tanultak még plusszba.
2015. dec. 29. 15:19
 5/11 anonim ***** válasza:
Megjegyzem, nem voltam sosem C guru, de sima értékadással nem megy?
2015. dec. 29. 15:30
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
sehogy nem jön össze :(
2015. dec. 29. 16:48
 7/11 anonim ***** válasza:
A struktúrán kívül minden megoldás gányolás lesz.
2015. dec. 29. 18:16
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

Nem értem, mi nem megy az strcpyn. Van internet, megnézed az első google találatot, megmondja, hogy úgy kell használni: strcpy(honnan, hova);

Ha a név c string, márpedig a kiíratás alapján az, akkor ezt használod a cserénél értékadás helyett. Már csak annyit kell tudni, hogy mekkora a leghosszabb név, vagy mekkora lehet (mekkora a név mérete). Ha ez N darab, akkor így megy:


char nevcsere[N];

strcpy(nevcsere, nev[j]);

strcpy(nev[j], nev[j+1];

strcpy(nev[j+1], nevcsere);


Struct nélkül viszont tényleg egy kalap sz*r az egész, leírni sem érdemes, de a tanár tudja..

2015. dec. 29. 18:32
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
bocs, strcpy(hova, honnan) de a kód jó
2015. dec. 29. 18:33
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:
Köszönöm szépen a válaszokat, problem solved :) a tanárról nem én tehetek, állítólag majd a 2, félévben az lesz a feladat hogy ezt a programot kell átírni struktúrával és külső fájlos adatokat beolvasva :)
2015. dec. 29. 19:38
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!