Vonalláncok feltöltése véletlen számokkal
A laboratóriumi műhely a C nyelvének szentelt alapváltozatban. Ennek a ciklusnak a végrehajtásához minden működési környezet és bármely C programozási rendszer alkalmas, mivel az itt vizsgált nyelvi tulajdonságok a nyelv lényegi elemei, és minden megvalósításban jelen vannak. Itt tekintjük a Windows XP operációs rendszer és a Borland C programozási rendszer működését.
A leírás az egyes laboratóriumi munka kezdődik a szakaszok „Cél”, „rövid elméleti ismeretek” és a „Példák problémák megoldásához.” „Példák problémák megoldására”, lásd „rövid elméleti ismeretek” témák tanulmányozni kell alapulnia előadás és irodalom, mielőtt a laboratóriumi munka, és fel kell számolni, minden döntés pontban felsorolt.
LABORATÓRIUMI MUNKA № 13
Célkitűzés: gyakorlati készségek elsajátítása az egydimenziós tömbökkel való együttműködésre.
Rövid elméleti információ
A tömb egy azonos nevű véges nevű szekvencia. A tömböket széles körben használják, ha sok olyan adatot kell feldolgoznia, amelyet a felhasználó belép a billentyűzetből.
A tömb egydimenziós. ha egy sorból és N oszlopból áll (vektor).
A tömbleírás formátuma a következő:
element_type név [dimenzió];
A dimenzió a tömb elemeinek száma (egész pozitív konstans).
Ez a bejegyzés azt jelenti, hogy a memória 10 egész számra van fenntartva, névtáblával és rendszámokkal (mutatókkal) 0 és 9 között. A C indexelés nulláról indul, ezért a leírásban megadott tömb nagysága mindig több, mint az index maximális értéke.
Egy tömb egyetlen elemének eléréséhez meg kell adnia a tömb nevét és az elem számát a tömbben (index) szögletes zárójelben. Az index egy egész szám.
tömb [0] a tömb első eleme, a tömb [9] a tömb utolsó eleme.
A tömbelemek egy adott típusú attribútummal rendelkeznek.
§ inicializálatlan (például egy egész típusú négy elemű tömb definiálható int array [4];);
§ inicializálva. A következőképpen definiálható: int array [] =;
Array elemek bevitele
Az egydimenziós tömb elemeinek beírása a billentyűzetből a következő:
const int n = 5; // a tömb elemeinek száma
scanf ("% f", tömb [i]); // olvasni az elem billentyűzetéből
Vonalláncok feltöltése véletlen számokkal
Engedje meg, hogy az [a, b] intervallumban egyenletesen elosztott véletlen számokkal tölti ki a tömböt. Mivel valódi és valós számok esetén a véletlenszám számítási módja egy adott intervallumban eltérő, mindkét változatot tekintjük. Itt és tovább feltételezzük, hogy a program elején van egy sor
A véletlenszám-generátor funkciója az stdlib.h fejlécfájlban található.
Szintén kényelmes egy véletlen funkció hozzáadása a programhoz:
amely véletlen számokat generál egyenletes eloszlással a [0, N-1] intervallumban. Ahhoz, hogy az [a, b] intervallumban egyenletes eloszlású véletlen számokat kapjunk, képletet kell használnunk
Valódi számok esetében a képlet kissé más:
Itt az állandó RAND_MAX a maximális véletlenszám, amit a standard rand függvény szolgáltat.
Az alábbi példában az A tömb tele van véletlenszerű egész számokkal a [-5,10] intervallumban. és az X tömb véletlenszerű valós számokkal ugyanazon az intervallumon belül.
int i, A [n], a = -5, b = 10;
randomizálás (); // inicializálja a véletlenszám-generátort
A [i] = véletlenszerű (b-a + 1) + a; // a tömb minden eleme
// hozzárendel egy véletlen értéket
Ha szükséges, hogy a számok ne csak pozitívak, hanem negatívak is legyenek, akkor írhat például:
tömb [i] = 20 - véletlenszerű (100);
Tömbelemek kimenete
1. A tömbelemek kimenete a képernyő egyik sorában:
printf ("% f \ t", tömb [i]); // \ t - táblázatok
Ha egy tömb elemeit kinyomtatná a képernyő egy oszlopában a printf függvényben, akkor cserélje ki a \ t-ta \ n - átváltson a képernyő egy új sorára.
A sizeof () művelet használatával megállapíthatja az azonosítónak vagy típusnak megfelelő memória méretét. A sizeof () művelet a következő formátumú:
Bármilyen azonosító vagy típusnév használható kifejezésként. Ha a kifejezés neve a tömb neve, akkor az eredmény a teljes tömb méretének (vagyis az elemek számának terméke a típus hossza szerint).
printf (". \ n", sizeof (tömb));