Laboratoriniai darbai

Duomenų struktūros ir algoritmai

9.6   (3 atsiliepimai)
Duomenų struktūros ir algoritmai 1 puslapis
Duomenų struktūros ir algoritmai 2 puslapis
Duomenų struktūros ir algoritmai 3 puslapis
Duomenų struktūros ir algoritmai 4 puslapis
Duomenų struktūros ir algoritmai 5 puslapis
Duomenų struktūros ir algoritmai 6 puslapis
Duomenų struktūros ir algoritmai 7 puslapis
Duomenų struktūros ir algoritmai 8 puslapis
Duomenų struktūros ir algoritmai 9 puslapis
Duomenų struktūros ir algoritmai 10 puslapis
Duomenų struktūros ir algoritmai 11 puslapis
Duomenų struktūros ir algoritmai 12 puslapis
Duomenų struktūros ir algoritmai 13 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

VILNIAUS UNIVERSITETAS KAUNO HUMANITARINIS FAKULTETAS INFORMATIKOS KATEDRA DUOMENŲ STRUKTŪROS IR ALGORITMAI Laboratorinis darbas Atliko: VI51 studentas Donatas Vaičiukynas Tikrino: Lekt. Darius Dilijonas Kaunas 2006 Užduotis Nr. 6 (eilė) Batų parduotuvėje leistina max 10 žmonių eilė. Jei nėra vietos parduotuvėje, tai formuojasi eilė prie durų. Įleidžiama po 3 pirkėjus (jei parduotuvės eilė jau pilna ), t.y. kai trys pirkėjai aptarnaujami ir lauke yra laukiančių. Jei lauke eilės nėra, o parduotuvėje dar nebuvo susiformavusi pilna eilė, tai į parduotuvę įleidžiama po vieną. Stojantis į eilę pirkėjas charakterizuojamas pavarde ir batų Nr. Į eilę pirkėjas stoja tik tada, kai iš anksto paskelbtame sąraše yra jam reikiamų batų Nr. Turi būti galimybės : • pastatyti pirkėją į eilę (lauke arba parduotuvėje pagal situaciją ); • aptarnauti pirkėją parduotuvėje (pašalinti iš eilės ir jei atsilaisvino bent trys vietos, įleisti iš lauko) ir spausdinti jo pavardę ir batų Nr; • informuoti kiek pirkėjų parduotuvėje ir kiek lauke; • atlaisvinti eilę lauke prieš darbo pabaigą; (įleidžiant iš lauko į parduotuvę spausdinti pirkėjo pavardę ir batų Nr.) Pirkėjams aprašyti naudojama struktūra struct pirkejas { char pavarde[20]; int numeris; struct pirkejas *kitas; } Batų pirkėją aprašo pavardė, kuri gali būti sudaryta iš 20-ies elementų, bei batų numeris. Duomenų struktūrą (pirkėjų eilę parduotuvėje) sudaro šių elementų grandinė, sujungta naudojantis rodykle *kitas. Programoje naudojami globalūs kintamieji int numeriai[10]; int num_kiek; - Šie kintamieji naudojami batų numerių sarašui saugoti. struct pirkejas *vidus=NULL; - kintamasis, rodyklė į eilės(viduje) pradžią. int kiekis_vidus=0; - kintamasis naudojamas skaičiuoti viduje esančius pirkėjus. struct pirkejas *laukas=NULL; - kintamasis, rodyklė į eilės(lauke) pradžią. int kiekis_laukas=0; - kintamasis naudojamas skaičiuoti lauke esančius pirkėjus. int darbas_baigtas=no; - kintamasis kuris rodo darbo pabaigą. Funkcijos Funkcija void main() Pagrindinė programos funkcija. Joje yra kriepiniai į visas kitas funkcijas bei ji išrenka operaciją, kurią nori atlikti vartotojas. Kintamieji: char c; - Naudojamas išsaugoti vartotojo paspaustam klavišui. int i; - Pagalbinis kintamasis naudojamas cikluose. char pavarde[20]; - Naudojamas išsaugoti pirkėjo pavardei. int numeris; - Naudojamas saugoti pirkėjo batų numeriui. int numeriu_kiekis;- Batų numerių kiekis, kurie yra parduotuvėje. int numeriai[10]; - Numeriai batų, kuriuos galima nusipirkti parduotuvėje. Funkcija void i_eile(char pavarde[20], int numeris) Ši funkcija yra iškviečiama „1“ mygtuko paspaudimu. Ji išveda užklausą, kokia yra pirkėjo pavardė ir koks jo batų numeris. Tada tikrina ar parduotuvėje yra pirkėjui reikiamų batų, jeigu nėra tada informuoja "šio dydžio batų nera, pirkejas i eilę nestatomas". Jeigu reikiamų batų yra tada tikrinama eilė parduotuvės viduje, jeigu eilė tuščia, naujas pirkėjas priskiriamas kintamajam,rodyklei *vidus. Jei parduotuvėje jau yra pirkėjų tada naujas pirkėjas priskiriamas kintamjam, rodyklei kuris rodo į *kitas tol kol susidaro 10 pirkėjų eilė. Susidarius parduotuvės viduje 10 pirkėjų eilei, tada taip kaip ir viduje tikrinama ar eilė tuščia ir pagal tai atliekama salyga. Kintamieji: struct pirkejas *p; - Rodyklė į naują pirkėjo elementą. Su juo atliekami veiksmai. int i; - Pagalbinis kintamasis naudojamas cikluose. Naujo pirkėjo pastatymas į eilę 1. Parduotuvės viduje pirkėjų nėra Eilė prieš pirmo pirkėjo pastatymą. Vidus  NULL Naujo pirkėjo pastatymas į eilę. vidus=malloc(sizeof(struct pirkejas)); strcpy(viduje->pavarde,pavarde); vidus->numeris = numeris; vidus->kitas=NULL; vidus 2. Parduotuvės viduje pirkėjų jau yra p = vidus; while (p->kitas!=NULL) p=p->kitas; p->kitas=malloc(sizeof(struct pirkejas)); strcpy(p->kitas->pavarde,pavarde); p->kitas->numeris = numeris; p->kitas->kitas=NULL; vidus   vidus    Į eilę lauke įterpiama taip pat kaip ir į eilę viduje. Funkcija void aptarnauti(void) Ši funkcija yra iškviečiama „2“ mygtuko paspaudimu. Pirmiausiai patikrinama ar parduotuvės viduje yra pirkėjų, jeigu nėra tai išvedamas pranešimas "pirkeju nera". Jei parduotuvės viduje pirkėjų yra, tai jie aptarnaujami po vieną ir kai atsilaisvina 3 vietos viduje įleidžiami 3 arba mažiau pirkėjų iš lauko. Kintamieji: struct pirkejas *p; - Rodyklė į naują pirkėjo elementą. Su juo atliekami veiksmai. int i; - Pagalbinis kintamasis naudojamas cikluose. int kiekis_viduje; Kintamasis naudojamas skaičiuoti pirkėjus viduje. int kiekis_lauke; Kintamasis naudojamas skaičiuoti pirkėjus lauke. Pirkėjo aptarnavimas parduotuveje 1. Lauke pirkėjų nėra p = vidus; vidus=vidus->kitas; printf("Pavarde:%s Batu nr:%i\n", p->pavarde, p->numeris); free(p); kiekis_vidus=kiekis_vidus-1; vidus    p=vidus vidus=vidus->kitas; vidus    free(p) vidus   2. Lauke trys pirkejai o viduje mažiau negu 8 laukas    while(ikitas!=NULL) p=p->kitas; p->kitas=laukas; laukas=lauke->kitas; p->kitas->kitas=NULL; vidus    laukasNULL Funkcija void atlaisvinti(void) Ši funkcija iškivečiama „4“ mygtuko paspaudimu. Funkcija atlaisvina eilę lauke ir pakeičia kintamojo „darbas_baigtas“ reikšmę į „yes“. Tai reiškia, kad daugiau nebebus galima ytraukti naujų pirkėjų. Kintamieji: struct pirkejas *p; - Rodyklė į naują pirkėjo elementą. Su juo atliekami veiksmai. Atlaisvinti pirkėjų eilę lauke vidus    while(laukas!=NULL) { p=laukas; laukas = laukas->kitas; free(p); } laukas    p=laukas laukas = laukas->kitas; laukas    free(p) laukas   Ir taip pašalinami visi elementai kurie yra lauke, šalinama tol kol rodyklė laukas rodo į NULL vidus    laukas  NULL Visas programos kodas: //Darba atliko VI51 grupes studentas Donatas Vaičiukynas #include

Daugiau informacijos...

Šį darbą sudaro 1195 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
13 psl., (1195 ž.)
Darbo duomenys
  • Programavimo laboratorinis darbas
  • 13 psl., (1195 ž.)
  • Word failas 164 KB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį laboratorinį darbą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt