Munka tömbök

Célkitűzés: megismertessék a szerkezet tömb. Értsd meg, hogyan állapítsa egydimenziós tömböt, és olvassa el az egyes elemek a tömb.

Array - egy adattípust hogy használják, hogy képviselje egy sorozata hasonló értékeket. A tömb jelentése egy alábbi csoport elemét azonos típusú. Kijelenti tömb a következőképpen:

A szögletes zárójelek ([]) azt mondja, hogy a temp - neve a tömb, és a szám zárójelben számát jelzi a tömb elemeinek. A számozása a tömb elemeinek nullával kezdődik, így temp [0] az első és a temp [19], az utolsó elem a tömb. Egy különálló elem a tömb alkalmazásával is meghatározható annak számát vagy indexet. A tömb elemei vannak elhelyezve egymást követően a memóriában, egymást. Egy tömb név egy mutatót az első elem a tömbben.

float mas [10]; // tömb mas tartalmaz 10 elemeket float típusú

int mas1 [20]; // tömb mas1 tartalmaz 20 elemek típusú int

int mm [n]; // hiba, nem adja meg a változó a tömb méretét

Az elemek száma a zárójelek nem haladhatja meg a mérete a tömb. Inicializálása nem minden elem és minden szám az első elemei:

Az összes többi négy elem inicializálva nullák.

Inicializáljon egy tömböt a következőképpen:

int mas [] =; // tömb öt elem

Ebben az esetben, a tömb elemeinek számát határozza meg az inicializáló lista.

Példa: Írja tömb a számok és kiszámítja az összeget a pozitív értékek

int mas [N]; // tömb számok

int Summa = 0; // összege pozitív értékeket

int n; // számok száma

printf ( "\ nAdja száma egész szám nem több, mint% 3d", N-1);

printf ( "\ nAdja% 3d tömb elemek", n);

for (i = 0; i

scanf ( "", mas [i]); // adja az i-edik eleme a tömb

ha a (mas [i]> 0) //, ha az i-edik eleme a tömb pozitív

Summa + = mas [i]; // foglalta pozitív elemeket

printf ( "\ n az összege pozitív értékek egyenlő% 3d", Summa);

Az, hogy a teljesítmény

1. Vizsgálni a rövid elméleti információkat.

2. Hozza létre a folyamatábra.

3. kifejlesztett folyamatábra írni egy programot.

4. Debug és végrehajtja a programot.

1. adott pozitív n (n> = 2). Találd meg az összes kisebb n prímszám segítségével szitán Eratosthenes. Eratosthenes szita hívja a következő módszerrel. Írjuk le az összes egymást követő egész szám 2-től n. Az első prímszám 2 Kiemeljük, és az összes nagy számok többszörösei 2, kereszt. Az első a maradék 3-as szám Hangsúlyozzuk, mint egy egyszerű, és az összes nagy számok többszörösei 3 kereszt. Az első szám a maradék 5 Most, 4 már átlépte. Hangsúlyozzuk, mint egy egyszerű, és az összes nagy számok többszörösei 5, kereszt, stb

2. Adott egy tömb a1, ..., an. Köteles rendezni a a1, ..., an úgy, hogy az első tömb volt az elemek egy csoportját, több, mint az elem került az eredeti tömbben az első helyen, majd - magát az elemet, majd - a csoport elemeinek kisebb vagy egyenlő, mint ez.

3. Tegyük fel, hogy valamilyen kommunikációs csatornán továbbított üzenet, amelynek a formája egyesek és nullák sorrendben. Mivel a beavatkozás néhány lehetséges hibás jelek vételére: a nulla is lehet értelmezni, mint egy egység, és fordítva. Lehetőség van, hogy minden egyes jel háromszor, cseréje, például, a szekvencia a szekvencia 1,0,1, 1,1,1, 0,0,0, 1,1,1. Három egymást követő számjegy helyettesítjük darabszámának dekódolását, amely megtalálható közöttük legalább kétszer. Ez megháromszorozódna jelek jelentősen növeli a helyes vétel valószínűsége az üzenetet. Írja meg a dekódolás programot.

4. Állítsa be egy sor pozitív számok a1, ..., an. Minden a [i], beleértve a következő elemeket a tömb a következő sorrendben a [i] és nagyobb, mint egy [I], válasszon egy elemet a legkisebb számú j és cserélje az értéket a [i] egy [j]. Ha egy ilyen elemet a [j] nem található, majd cserélje az értéket a [i] nullára. Kinyomtatni az eredményül kapott tömböt.

Magyarázat. Például, egy tömb 2,9,8,5,9,3,4,5,2 csere után válik

5. Mivel a tömb a1, ..., an. Kizárják a minimum öt elem, a többi elem a mozgó balra.

6. Mivel két egész tömb a1, ..., an, b1, ..., bn. Nyomtatni az összes pár indexek, melyek a [i] * b [i]> 10. Számítsuk ki a párok száma és az összeg az ilyen termékek.

7. Dan-dimenziós tömb a1, ..., an. Keresse meg és nyomtassa ki a számot az elem, amely a termék az előző maximum.

8. Az egydimenziós tömb rendezése növekvő (csökkenő) az elemek (Shell módszer).

9. Az egydimenziós tömb rendezése növekvő (csökkenő) elemek (buborék módszer).

10. Az egydimenziós tömb a1, ..., an, hogy cseréljék ki a negatív elemek nullák száma a helyettesítések számát m, számítási m!.

Laboratóriumi munka №5

Munka tömbök. Kétdimenziós tömbök

Cél: Ismerje meg, hogyan állapítsa kétdimenziós tömb kétdimenziós tömbök vannak elrendezve a memória a számítógép, hogyan érhető el a tömb elemeit egy

Dimenziós tömb - egy sor tömbök, azaz Egy tömb, amelynek elemeit tömbök.

Dimenziós tömb nyilvánították az alábbiak szerint:

Először zárójelben számát jelzi tömb sorok, és a szám zárójelben jelzi a második oszlopainak száma egy tömb. Hozzáférni egy eleme egy kétdimenziós tömböt meg kell adnia annak minden indexek:

rez = mas [1] [2]; // rez változó kap értéke a harmadik elem a második sorban.

Elemei többdimenziós tömbök vannak elrendezve soronként a számítógép memóriájában. Többdimenziós tömbök lehet inicializálni. Például:

Ha azt szeretnénk, hogy inicializálni, nem minden sorokat az inicializáló listában, akkor kapcsos zárójelek, amely az értéket, amely a sorban. Például:

Program: A legújabb főátlójában dimenziós tömb csökkenő

int mas [N] [N]; // kétdimenziós tömböt

printf ( "\ nAdja tömbelemek \ n");

for (i = 0; i

a (j = 0; j

scanf (, Mas [i] [j] ""); // bemeneti tömbelem

Kapcsolódó cikkek