Kezdőoldal » Számítástechnika » Programozás » Programozás DEVCPP-ben (C-nyel...

Programozás DEVCPP-ben (C-nyelven), táblázat, illetve rendezés?

Figyelt kérdés

Sziasztok.Egyetemen az a házi feladat, hogy egy adatnyilvántartó programot kell készíteni, ennek a nagy része már készen van, annyi a hibám, hogy a kilistázott adatokat nem rendezi sorba, illetve hogy kell egy táblázatot készíteni a kilistázott adatokról, erről a kettőről nem tanultunk. Tudnátok nekem segíteni?

Így néz ki a listázási függvényem: (Egy könyv adatbázist csináltam)

void lista(int sor[], char cim[][80], char iro[][80], char ev[][80], int &n)

{


int j,i;



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

{

printf("\nAZONOSITO: %d",sor[i]);

printf("\nCIM: %s",cim[i]);

printf("\nIRO: %s",iro[i]);

printf("\nKIADAS EVE: %s\n",ev[i]);

}


2013. dec. 10. 12:02
 1/6 SimkoL ***** válasza:

A struct nem is ismerős ? Rendezni pedig: [link]


Hogyan tárolod el az összetartozó adatokat ?

2013. dec. 10. 12:21
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Struct-ot nem tanultunk..összevissza haladunk az anyaggal, ezt a feladatot is csak felsőéves segítségével tudtuk megcsinálni.

Megcsináltam a buborékrendezést, de a baj az, hogy csak az azonosítókat cseréli ki, a címet,írót,kiadás évét nem. azzal mit tudok csinálni?

2013. dec. 10. 12:35
 3/6 anonim ***** válasza:
Amikor cseréled az azonosítókat, akkor cseréled az ugyanilyen indexű elemeket a többi tömbben is.
2013. dec. 10. 12:37
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

ez a rendezés függvényem:

void rendez (int sor[]){

int i,j,csere;

for (i=0;i<MAX-1;i++)

for (j=0;j<MAX-i-1;j++){

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

csere =sor[j];

sor[j]=sor[j+1];

sor[j+1]=csere;

}}

annyi hogy az if után írjam oda hogy cserélje ki az irot, cimet, azonositot, meg évet?

2013. dec. 10. 12:40
 5/6 anonim ***** válasza:

A táblázatot valószínűleg elég lesz úgy megoldanod, hogy az egy oszlopba tartozó sorokat tabulátorral \t elválasztva írod ki egymás mellé, és csak az összetartozó adatok végén kezdesz új sort (\n)

Tehát, minimális módosítás :

printf("AZONOSITO: %d\t",sor[i]);

printf("CIM: %s\t",cim[i]);

printf("IRO: %s\t",iro[i]);

printf("KIADAS EVE: %s\n",ev[i]);


A rendezésnél pedig úgy kellene megoldani, hogy 1 ADOTT TULAJDONSÁG (gondolom id) alapján rendezni az ÖSSZES összetartozó adatot.

Tehát a rendezés valahogy így néz ki:


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

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


if (id[i]>id[j])

//csere

}


(Egyébként PTE-TTK 1. félév? :D )

2013. dec. 10. 15:28
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Egyébként bocs, amit én id-nek nevezek, az neked 'sor', ha jól látom. A cseréhez még annyit, hogy ha teljesül a feltétel, MINDEN ADATOT cserélj le, ne csak a sorokat, mert akkor a sorszámokat rendezi, de a címet, írót, évet nem.


Remélem érthető, amit mondani próbálok.

2013. dec. 10. 15:33
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!