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));