Laboratorinis darbas Nr. 8 Rodyklės ir masyvai 1. Darbo tikslas Darbo tikslas - įgyti praktinių įgūdžių dirbant C kalboje su rodyklėmis ir adresais. 2. Temos pasiruošimui • Rodyklės ir adresai; • Rodyklės ir masyvai; • Adresų aritmetika; • Dinaminis atminties išskyrimas. 3. Užduotis Įvykdyti 7 laboratorinio darbo užduotį su papildomomis sąlygomis: • masyvo dydis nustatomas programos vykdymo pradžioje ir jis yra atsitiktinis skaičius iš 50 - 200 diapazono; • programos tekste uždraudžiama naudoti indeksacijos operacijas. 4. Pavyzdys (30 variantas) Aprašant užduoties sprendimą, yra duodamos nuorodos į 7 darbo metodinius nurodymus. Aprašomi tik tie sprendimai, kurie skiriasi ir nebuvo naudojami 7 darbe. 4.1. Sprendimo algoritmo sukūrimas Užduoties sprendimo algoritmas - toks pat, kaip ir 7 darbe, todėl jo schema nepateikiama. Skirtumas toks, kad vykdymo pradžioje, po atsitiktinių skaičių skaitliuko inicializacijos, reikia gauti atsitiktinį skaičių iš diapazono 50 200 (pavadinsime jį ), ir išskirti sveikųjų skaičių dydžio atmintį masyvui. Prieš išeinant iš programos, mes turime atlaisvinti išskirtą atmintį (7 laboratorinio darbo algoritmo schemoje po 19 bloko). Esminiai skirtumai atsiranda realizuojant algoritmą. Lengviausiai užduotis galėtų būti įvykdyta visas indeksacijos operacijų vietas pakeitus adresacijos operacijomis: Ar[i] *(Ar+i) Tai tenkintų užduotį, tačiau C kalboje taip daryti neįprasta. Jeigu pereiname nuo indeksacijos prie adresacijos, mums nebereikia nei indeksų, nei kintamųjų. Tada galime visus ciklus realizuoti kitokiu būdu. Jeigu masyvo vardas yra rodyklė į jo pradžią, tai vietoje ciklo, kuriame indeksas keičiasi nuo iki , mes galime sudaryti ciklą, kuriame besikeičianti rodyklė keičiasi nuo iki . Taip pat, kai mums reikia įsiminti priešingos sekos pradžią, mes galime įsimint ne atitinkamo elemento indeksą, o jo adresą - rodyklę į jį. 4.2. Kintamųjų priskyrimas Programos kintamuosius aprašome lygindami su 7 darbu. Programoje aprašome kintamąjį - rodyklę į masyvo pradžią: int *Ar; Masyvo dydis nustatomas vykdant programą, todėl jo saugojimui reikalingas atskiras kintamasis: int size; Vietoje kintamųjų, kurie 7 darbe yra masyvo elementų indeksai, mes naudosime rodykles: int *Cr; tai bus rodyklė į besikeičiantį masyvo elementą, kai jis visas yra perrenkamas ir: int *Ir; šioje rodyklėje bus saugomas neigiamos sekos pradžios adresas. Po to - apdorojant seką - besikeičiančio jos elemento adresas. Kintamieji elementų sumų ir vidutinės reikšmės bei elementų skaičių saugojimui sekoje išlieka tokie patys: int av; int nn; 4.3. Programos tekstas Pradžioje įrašomi programoje naudojamų funkcijų aprašai. #include
Šį darbą sudaro 1172 ž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!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Kiti darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!