Laboratorijska naloga 21 - navodila in oddaja
Умови завершення
Початок приймання: неділю 6 березня 2011 07:40 AM
Термін спливає: понеділок 14 березня 2011 15:00 PM
1. Izdelaj program za urejanje podatkov. Program naj omogoča:
- generiranje 10000 naključnih podatkov,
- iskanje najmanjšega elementa v tabeli,
- pozicijo najmanjšega elementa,
- vsoto vseh elementov,
- povprečno vrednost,
- urejanje z izbiranjem (naraščajoče - od najmanjšega do največjega),
- urejanje podatkov z vstavljanjem (padajoče - od največjega do najmanjšega)
- Na koncu izdelaj še merjenje časov urejanja podatkov (prebereš čas pred urejanjem in čas po urejanju, ter časa odšteješ)
- Podprograme poveži z menijem
2. Izdelaj program za urejanje znakov. Program naj omogoča:
- generiranje 1000 naključnih znakov
- urejanje znakov z metodo urejanja z izbiranjem
- urejanje znakov z metodo urejanja z vstavljanjem
- Izpis podatkov
Primer kako merimo čas (uporabimo dos.h knjižnjico in pa spremenljivki t, ter t2 in preberemo čas z uporabo funkcije _dos_gettime). Čas v nekem obdobju dobimo tako, da končnemu času odštejemo čas začetka merjenja - pretvorimo v najnižjo mersko enoto :
#include <stdio.h>
#include <dos.h>
int main(void)
{
struct dostime_t t,t2;
_dos_gettime(&t);
int i;
long cas1,cas2,cas;
printf("Trenutni cas je %02d:%02d:%02d.%02d\n", t.hour, t.minute,
t.second, t.hsecond);
for (i=0;i<30000;i++)
printf("Izpisemo se nekaj...\n"); // da casa nista enaka
_dos_gettime(&t2);
// pretvorimo vse v milisekunde
cas1 = t.hsecond+t.second*100+t.minute*6000+t.hour*360000;
cas2 = t2.hsecond+t2.second*100+t2.minute*6000+t2.hour*360000;
cas = cas2 - cas1;
printf("Casi %ld %ld - razlika %ld\n",cas1, cas2, cas);
printf("To je trajalo %02ld:%02ld:%02ld.%02ld\n",
cas/360000,cas/6000,cas/100,cas%100);
return 0;
}
Rešitve shranite v arhivsko datoteko zip z imenom
{vašeime}_{vašpriimek}_laboratorijska_vaja_21.zip
primer:
janez_novak_laboratorijska_vaja_21.zip
- generiranje 10000 naključnih podatkov,
- iskanje najmanjšega elementa v tabeli,
- pozicijo najmanjšega elementa,
- vsoto vseh elementov,
- povprečno vrednost,
- urejanje z izbiranjem (naraščajoče - od najmanjšega do največjega),
- urejanje podatkov z vstavljanjem (padajoče - od največjega do najmanjšega)
- Na koncu izdelaj še merjenje časov urejanja podatkov (prebereš čas pred urejanjem in čas po urejanju, ter časa odšteješ)
- Podprograme poveži z menijem
2. Izdelaj program za urejanje znakov. Program naj omogoča:
- generiranje 1000 naključnih znakov
- urejanje znakov z metodo urejanja z izbiranjem
- urejanje znakov z metodo urejanja z vstavljanjem
- Izpis podatkov
Primer kako merimo čas (uporabimo dos.h knjižnjico in pa spremenljivki t, ter t2 in preberemo čas z uporabo funkcije _dos_gettime). Čas v nekem obdobju dobimo tako, da končnemu času odštejemo čas začetka merjenja - pretvorimo v najnižjo mersko enoto :
#include <stdio.h>
#include <dos.h>
int main(void)
{
struct dostime_t t,t2;
_dos_gettime(&t);
int i;
long cas1,cas2,cas;
printf("Trenutni cas je %02d:%02d:%02d.%02d\n", t.hour, t.minute,
t.second, t.hsecond);
for (i=0;i<30000;i++)
printf("Izpisemo se nekaj...\n"); // da casa nista enaka
_dos_gettime(&t2);
// pretvorimo vse v milisekunde
cas1 = t.hsecond+t.second*100+t.minute*6000+t.hour*360000;
cas2 = t2.hsecond+t2.second*100+t2.minute*6000+t2.hour*360000;
cas = cas2 - cas1;
printf("Casi %ld %ld - razlika %ld\n",cas1, cas2, cas);
printf("To je trajalo %02ld:%02ld:%02ld.%02ld\n",
cas/360000,cas/6000,cas/100,cas%100);
return 0;
}
Rešitve shranite v arhivsko datoteko zip z imenom
{vašeime}_{vašpriimek}_laboratorijska_vaja_21.zip
primer:
janez_novak_laboratorijska_vaja_21.zip