Programozás DEVCPP-ben (C-nyelven), táblázat, illetve rendezé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]);
}
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?
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?
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 )
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!