Kezdőoldal » Számítástechnika » Programozás » C++ struktúra típusú tömb...

C++ struktúra típusú tömb elemeinek rendezése?

Figyelt kérdés

A feladat egy tanuló struktúra létrehozása név, átlag és kor tulajdonságokkal, majd egy tancsoport létrehozása, ami maga a tömb. Ennek átlagát sikerült kiszámítanom, a következő részfeladat viszont a tömb elemeinek név szerint sorba rendezésének kiírása lenne. Elég csak a neveket megjeleníteni de nem tudom hogy milyen függvényt illetve hogyan használjak? Help please!!!


Az eddigi kód:


namespace struktúra

{

struct tanulo

{

public string név;

public int kor;

public double átlag;

}


class Program

{


static void Main(string[] args)

{

//1. Legyen egy tanuló struktúra az alábbi mezőkkel: név, kor, átlag. Vegyünk fel egy tancsoportot, és mondjuk meg a tancsoport átlagát, majd rendezzük névsorba az adatokat. 


tanulo[] tancsoport = new tanulo[5];


tancsoport[0] = new tanulo();

tancsoport[0].név = "Józska";

tancsoport[0].átlag = 3.2;

tancsoport[0].kor = 16;


tancsoport[1] = new tanulo();

tancsoport[1].név = "Sanya";

tancsoport[1].kor = 17;

tancsoport[1].átlag = 3.7;


tancsoport[2] = new tanulo();

tancsoport[2].név = "Klárika";

tancsoport[2].kor = 16;

tancsoport[2].átlag = 4.2;


tancsoport[3] = new tanulo();

tancsoport[3].név = "Gizike";

tancsoport[3].kor = 17;

tancsoport[3].átlag = 4.1;


tancsoport[4] = new tanulo();

tancsoport[4].név = "Máté";

tancsoport[4].kor = 16;

tancsoport[4].átlag = 4.6;


int i;

double sum;

sum = 0;


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

{

sum = sum + tancsoport[i].átlag;

}

double átl;


átl = sum / 5;


SortedList<

Console.WriteLine("A tancsoport átlaga: {0}",átl);

Console.ReadLine();



}

}

}



2011. nov. 24. 14:32
 1/6 anonim ***** válasza:

for(int i = 0;i < 4; i++) {

for(int j = 1;j < 5; j++) {

if(tancsoport[i].név > tancsoport[j].név) {

tanulo t = new tanulo();

t = tancsoport[i];

tancsoport[i] = tancsoport[j];

tancsoport[j] = t;

}

}

}

2011. nov. 24. 15:06
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

jav.

tanulo t = new tanulo(); a belső ciklusból töröld és írd inkább az egész elé ezt:

tanulo t;

2011. nov. 24. 15:08
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Amúgy ciklusoknál használd inkább a tömb számosságát:

for(int i = 0; i < tomb.Count; i++) {}

2011. nov. 24. 15:10
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Köszönöm szépen a választ! Egyetlen gond van már csak, hogy a > -t stringeknél nem engedi használni!:(
2011. nov. 25. 13:56
 5/6 anonim ***** válasza:
SortedList< -t vedd ki!!!
2011. nov. 25. 17:25
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Azt még előtte kivettem:S azt jelzi hogy a ciklusnál két string típusú változó közé nem lehet kacsacsőrt tenni. Csak számoknál elvileg?
2011. nov. 26. 14:54

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!