Seřazení a sečtení – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Seřazení a sečtení – C / C++ – Fórum – Programujte.comSeřazení a sečtení – C / C++ – Fórum – Programujte.com

 

Reg
~ Anonymní uživatel
1 příspěvek
10. 9. 2009   #1
-
0
-

Dobrý den,
mám menší problém - dělám měnší program, ale zasekl jsem se u dvou problémů. Vůbec mě nenapadá, jsk udělat
- seřazení dosažených bodů od nejlepšího po nejhorší
- sečtení dosažených bodů každého studenta

#include <stdio.h>

#include <conio.h>

int main() {
int x;
int i;
int a;
char studenti[30][30];
int body[30][5];
int soucet[30];

printf("Napis kolik se zucastnilo studentu : ");
scanf("%d", &x);
printf("\n");

for(i=0; i<x; i++) {
printf("Napis jmeno %d. studenta : ", i+1);
scanf("%s", studenti[i]);
}
printf("\n");

for(i=0; i<x; i++) {
printf("Napis, kolik bodu mel %s\n", studenti[i]);
for(a=0; a<5; a++){
printf("Body v %d. uloze : ", a+1);
scanf("%d", &body[i][a]);
}
printf("\n");
}

printf("\n");

for(i=0; i<x; i++) {
printf("Student %s mel : \n", studenti[i]);
for(a=0; a<5; a++){
printf("V %d. uloze %d bodu\n", a+1, body[i][a]);
}
printf("\n");
}

system("Pause");
return 0;
}


Předem děkuji

Nahlásit jako SPAM
IP: 89.102.25.–
Bald3rr0
Super člen
10. 9. 2009   #2
-
0
-

To Reg : 1) Bych data uchovával v nějaké struktuře. Například takto:

struct STUDENT {

char jmeno[30];
int body[5];
int soucet;
};


Součet uděláš potom velmi jednoduše
STUDENT student[30];

for(int i = 0; i < 30; i++) {
student[i].soucet = 0;
for(int n = 0; n < 5; n++)
student[i].soucet += student[i].body[n];
}


No a na seřazení použij nějaký řadící algoritmus, pro 30 záznamů bude dostačující Bubble sort.

Nahlásit jako SPAM
IP: 82.100.0.–
sputnikone+1
Věrný člen
11. 9. 2009   #3
-
0
-

V stdlib.h je implementován QuickSort - qsort(pole, pocet prvku, velikost prvku, radici fce) podrobnosti na Googlu

Nahlásit jako SPAM
IP: 195.47.9.–
Re:
~ Anonymní uživatel
1 příspěvek
11. 9. 2009   #4
-
0
-

To Bald3rr :
Děkuji za odpověď, mám tu ale problém :smile14:
Ne zcela jsem pochopil, co vaš zadaný kód má znamenat... Jednak mi nefunguje, jednak vůbec nechápu, co dělá tečka v student[i].soucet a vlastně co celý váš kód má dělat...

Promiňte, jsem amatér :smile4: Mohl byste mi to trochu prosím osvětlit? :smile1:

Nahlásit jako SPAM
IP: 89.102.25.–
Bald3rr0
Super člen
11. 9. 2009   #5
-
0
-

To Re: : Pokud chcete, klidně mi můžete tykat :). Nicméně, pokud Vám kód vyhazuje nějaké chyby, bylo by dobré zkopírovat chybové hlášky popřípadně současný kód programu.

Můj záměr byl takový, že bych si pro každého studenta vytvořil strukturu http://programujte.com/?akce=clanek&cl=2005041409-c++-5-lekce pro lepší přehlednost. Pokud kliknete na odkaz, určitě pochopíte, proč je tam ta tečka. :)

Nahlásit jako SPAM
IP: 82.100.0.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý