Tāpat kā Pascal, realizējiet matricu. Divdimensiju Pascal bloki - Matrix

Pēdējā nodarbība Pascal tika uzrakstīts 7. martā, tad mēs izjaucām. Šodien mēs uzzinām, ko divdimensiju masīvs PascalKā tas ir aprakstīts un ko viņš pārstāv. Lasīt vairāk tālāk.

Tātad, kas ir divdimensiju masīvs?Gaismas uztverei mēs iedomāsimies viendimensiju masīvu kā līniju un kuru visi elementi iet horizontāli un divdimensiju kā kvadrātu, kurā elementi atrodas gan horizontāli, gan vertikāli. Divdimensiju masīvs sastāv no līnijām un kolonnām, tos sauc arī par matricu vai matricas masīvu.

Kā apraksta divdimensiju blokus? Lai uzrakstītu divdimensiju blokus, ir vairāki veidi, es ņemšu vērā 2 no tiem.

1 metode Apraksts masīva: masīvs veida mainīgo masīvā (vesels skaitlis / reāls / baits);

2 Metode, kā aprakstīt masīvu: masīvs masīvs veida mainīgo masīvā;

Pirmkārt aprakstiet līnijas (1..m) un pēc tam kolonnas (1..n).

Otrajā metodē tas ir aprakstīts kā divi viena dimensiju masīva, kas kopā veido vienu divdimensiju.

Divdimensiju masīvu var aprakstīt tipa sadaļā turpmākai apelācijas tai vairākas reizes vai mainīgā varoņdarbos VaR, es vēlos pievērst uzmanību tam, nevis m un n, jūs varat aizstāt numurus, un jūs varat izmantot konstantes .

Divdimensiju masīva darba piemērs mainīgā aprakstā sadaļā:

Const.
m \u003d 100;
n \u003d 100;
var.
A: vesels skaitlis;

Šajā gadījumā mēs uzstādām divdimensiju masīvu par 100 par 100 lielumu, tas ir, mums ir kvadrātveida matrica.

Piemērs uzdevuma matricas masīva, izmantojot tipa sadaļu:

Const.
m \u003d 100;
n \u003d 100;
Veids
Matrica \u003d vesels skaitlis;
var.
A: matrica;
B: matrica;

Otrajā piemērā mēs iestatām divas identiskas matricas masīva ar izmēriem 100 par 100, aprakstot masīvu B, mums nebija jāapraksta tā lielums un datu veids vēlreiz.

Kā piekļūt šūnu mainīgo divdimensiju masīvu?

Lai skatītu divdimensiju masīvu, vispirms jānorāda numura numurs, un pēc tam kolonnas numurs ir šāds:

x-Jebkurš mainīgais, A - masīvs nosaukums, i-numurs, J - kolonnas numurs.

Turklāt es un j var būt gan mainīgie, gan veseli skaitļi.

Datu rakstīšanas piemērs masīvam:

Par i: \u003d 1 līdz n do // uzdevums līnijas cilpā
J: \u003d 1 līdz m do // uzdevums kolonnas numura ciklā
A: \u003d nejauši (100); // šūnu skaita piešķiršana un izlases kolonnas numurs

Mēs piepildījāmies ar masīvu pēc izlases numuriem no 1 līdz 100.

Programmas piemērs, izmantojot divdimensiju masīvu, kurā mēs aizpildām dažādus izlases numurus un parādiet to uz ekrāna:

Var // mainīgo un masīva apraksts
Matrica: vesels skaitlis;
Es, J: vesels skaitlis;

Sākt // mājas programma
Writeln ("divdimensiju masīvs"); // dialogs ar lietotāju

Par i: \u003d 1 līdz 10 do // aizpildot masīvu
J: \u003d 1 līdz 10 darīt
Matrica: \u003d nejaušs (100);

Par i: \u003d 1 līdz 10 Vai sākt // produkciju masīva
J: \u003d 1 līdz 10 darīt
Rakstīt (matrica ");
Writeln.
Writeln ("vietne"); // Ja vēlaties, varat dzēst
beigas; // programmas beigas

// Readln // izmanto turbo Pascal

Divdimensiju masīvs Pascal tiek interpretēts kā viendimensiju masīvs, kuru elementu veids ir arī masīvs (masīvs). Divdimensiju Pascal bloku elementu stāvokli apraksta divi indeksi. Tos var pārstāvēt kā taisnstūra galdu vai matricu.

Apsveriet divdimensiju masīvu Pascal ar izmēru 3 * 3, tas ir, tas būs trīs līnijas, un katrā rindā trīs vienības:

Katram elementam ir savs numurs, tāpat kā viendimensiju bloki, bet tagad skaits jau sastāv no diviem numuriem - līnijas numuriem, kuros atrodas elements, un kolonnas numurs. Tādējādi elementa numuru nosaka virknes un kolonnas šķērsošana. Piemēram, 21 ir elements, kas stāv otrajā rindā un pirmajā slejā.

Apraksts divdimensiju masīva Pascal.

Ir vairāki veidi, kā deklarēt divdimensiju masīvu Pascal.

Mēs jau zinām, kā aprakstīt viendimensiju blokus, kuru elementi var būt jebkāda veida, un tāpēc paši elementi var būt bloki. Apsveriet šādu tipu un mainīgo aprakstu:

Piemērs aprakstam divdimensiju masīvu Pascal

Veids
Vector \u003d masīvs<тип_элементов>;
Matrica \u003d vektora masīvs;
Var m: matrica;

Mēs pasludinājām divdimensiju masīvu Pascal M, kas sastāv no 10 līnijām, katrā no tiem 5 kolonnas. Šajā gadījumā, m [i] var piekļūt katram i (i], un katrs j ir elements iekšā i-th rindā - m [i, j].

Definīcija veidu divdimensiju Pascal blokiem var iestatīt arī vienā rindā:

Veids
Matrica \u003d masīvs masīvs< тип элементов >;
vai pat vieglāk:
Veids
Matrica \u003d masīvs<тип элементов>;

Apelācija divdimensiju masīva elementiem ir veidlapa: M [I, J]. Tas nozīmē, ka mēs vēlamies iegūt elementu, kas atrodas I-R rindā un J-kolonnā. Šeit galvenā lieta nav sajaukt rindas ar kolonnām, pretējā gadījumā mēs varam atkal saņemt pievilcību neeksistējošam elementam. Piemēram, sūdzība M elementam ir pareiza ieceļošanas veidlapa, bet programmā var izraisīt kļūdu.

Pamata darbības ar divdimensiju masīviem Pascal

Viss, kas ir teikts par pamata darbībām ar viendimensiju blokiem, ir godīgi gan matricām. Vienīgā darbība, ko var veikt vienā tipa matricās, ir uzdevums. Tiem, ja programmā ir divas matricas, piemēram,

veids
Matrica \u003d vesels skaitlis;
var.
A, b: matrica;

tad programmas izpildes jūs varat piešķirt matricu a. Matricas vērtība b. (A: \u003d b). Visas pārējās darbības tiek veiktas pārmaiņus, ar visām pieļaujamajām darbībām, kas noteiktas datu tipam masīva elementiem. Tas nozīmē, ka, ja masīvs sastāv no veseliem skaitļiem, veseliem skaitļiem definētās darbības var veikt virs tā elementiem, ja masīvs sastāv no rakstzīmēm, tās ir piemērojamas darbībai ar simboliem.

Ievadiet divdimensiju masīvu Pascal.

Lai secīgi ievadītu viendimensiju masīva elementus, mēs izmantojām ciklu, kas mainīja indeksa vērtību no 1. līdz pēdējam. Bet elementa pozīciju divdimensiju masīva Pascal nosaka divi rādītāji: līnijas numurs un kolonnas numurs. Tas nozīmē, ka mums būs vajadzīgi konsekventi mainīt līnijas skaitu no 1. līdz pēdējam un katrā rindā, lai atrisinātu kolonnu elementus no 1. līdz pēdējai. Tātad, mums būs nepieciešams divi cikliem, un viens no tiem tiks ieguldīti citā.

Apsveriet piemēru, lai ievadītu divdimensiju masīvu Pascal no tastatūras:

PAPAL divdimensiju masīva ievades programmas piemērs no tastatūras

veids
Matrica \u003d vesels skaitlis;
var.
A ,: matrica;
Es, J: vesels skaitlis; (masīva indeksi)
Sākt.
Par i: \u003d 1 līdz 5 darīt (cikls visu līniju krūtīm)
readln (A [i, j]); (Ieeja no tastatūras elementa I-R rindā un J-kolonnā)

Divdimensiju Pascal masīvs var aizpildīt nejauši, ti. Izmantojiet izlases (n) funkciju, kā arī piešķiriet kādu izteiksmes vērtību katram matricas elementam. Divdimensiju pascal masīva aizpildīšanas metode ir izvēlēta atkarībā no uzdevuma kopas, bet jebkurā gadījumā katrs elements jānosaka katrā rindā un katrā slejā.

Divdimensiju masīva Pascal izeja uz ekrāna.

No divdimensiju masīva PASCAL elementu jauda tiek veikta arī sērijā, ir nepieciešams izdrukāt vienumus katrā rindā un katru kolonnu. Tajā pašā laikā es gribētu elementus, kas stāv vienā rindā, iespiesta tuvumā, t.i. Stringā un kolonnas elementi atradās viens zem otra. Lai to izdarītu, jums ir jāveic šāda secība darbībām (apsvērt fragmentu programmas masīva aprakstīts iepriekšējā piemērā):

Piemērs par Pascal divdimensiju masīva izejas programmas

par i: \u003d 1 līdz 5 darīt (cikls visu līniju krūtīm)
Sākt.
J: \u003d 1 līdz 10 darīt (krūtis visus virknes elementus kolonnās)
Rakstīt (A [i, J]: 4); (Drukas elementi I-th rindā no matricas vienā ekrāna rindā, un 4 pozīcijas tiek dota izejas katra elementa)
Writeln; (Pirms mainīt līnijas skaitu matricā, jums ir nepieciešams, lai tulkot kursoru uz sākumu jaunās ekrāna rindas)
beigas;

Komentārs ( tas ir svarīgi!): Ļoti bieži studentu programmās ir radušās kļūda, ievadot tastatūru vai izejas uz masīva ekrāna mēģina šādi: Readln (A), WriteLn (A), kur bet - tas ir ierakstiet mainīgo masīvs. Tajā pašā laikā tie ir pārsteigti par kompilatora ziņojumu, ka šāda veida mainīgo nevar uzskatīt vai izdrukāt. Varbūt jūs sapratīsiet, kāpēc to nevar izdarīt, ja jūs prezentējat n krūzes, kas stāv pēc kārtas, un jūsu rokās, piemēram, tējkanna ar ūdeni. Vai jūs varat uz komandas "ūdens" uzreiz aizpildiet visus lokus? Neatkarīgi no tā, cik grūti jūs mēģināt, bet katrā krūze jums būs jāpiedāvā atsevišķi. Aizpildīšana un izeja uz ekrāna elementu masīva arī jāveic secīgi un elementāli, jo Atmiņā no datora, elementi masīva atrodas secīgās šūnās.

PASCAL divdimensiju masīva prezentācija atmiņā

Abstraktās masīva elementi mašīnas atmiņā ir fiziski atrodas secīgi, saskaņā ar aprakstu. Šajā gadījumā katrs elements ņem atmiņā skaitu baitu, kas atbilst tās lielumam. Piemēram, ja masīvs sastāv no veseliem skaitļiem, katrs elements aizņems divus baitus. Un viss masīvs aizņems s ^ 2 baitus, kur S ir elementu skaits masīvā.

Un cik daudz vietas notiks masīvs, kas sastāv no masīviem, t.i. matrica? Acīmredzot: S i ^ s j, kur es esmu rindu skaits, un s J ir vienību skaits katrā rindā. Piemēram, par masīvu tipa

Matrica \u003d vesels skaitlis;

tas aizņems 12 atmiņas baitus.

Kā šī masīva elementi atradīsies atmiņā? Apsveriet matricas matricas masīvu atmiņā.

Zem katra elementa M tipa vesels skaitlis, ir iezīmētas divas atmiņas šūnas. Naktsmītnes atmiņā tiek veikta "apakšā uz augšu". Elementi tiek ievietoti indeksa maiņas secībā, kas atbilst pievienoto ciklu shēmai: Pirmkārt, pirmā līnija tiek ievietota, tad otrā, trešā ... iekšpusē līnijas kārtībā ir elementi: pirmais, otrais utt.

Kā mēs zinām, piekļuve jebkuram mainīgajam ir iespējama tikai tad, ja ir pazīstama atmiņas šūnas adrese, kurā tiek saglabāts mainīgais lielums. Īpaša atmiņa tiek piešķirta mainīgajam, ielādējot programmu, tas ir, ir iestatīta savstarpēja korespondence starp mainīgo un šūnu adresi. Bet, ja mēs deklarējām mainīgo kā masīvu, programma "zina" adresi no sākuma masīva, tas ir, tās pirmais elements. Kā notiek piekļuve visiem pārējiem elementiem masīva notiek? Ar reālu piekļuvi atmiņas kamerai, kurā tiek glabāta divdimensiju masīva elements, sistēma aprēķina savu adresi pēc formulas:

Adr + sizelem * cols * (i -1) + sizelem * (J -1),

kur adr ir faktiskā sākotnējā adrese, ar kuru masīvs atrodas atmiņā; I, J - elementu indeksi divdimensiju masīvā; Sizeelem - masīva elementa izmērs (piemēram, divi baiti veseliem skaitļiem); COLS - rindas vienību skaits.

Expression Sizeelem * Col * (I -1) + Sizeelem * (J -1) sauc par pārvietojumu attiecībā pret masīva sākumu.

Cik daudz atmiņas tiek piešķirta masīvam?

Apsveriet ne tik daudz jautājumu par to, cik daudz atmiņas tiek piešķirta masīvam (mēs demontēt iepriekšējā sadaļā), bet par to, kas ir maksimālais pieļaujamais masīvs lielums, ņemot vērā ierobežoto atmiņas apjomu.

Lai strādātu programmā, atmiņa tiek piešķirti 64 KB segmenti, vismaz viens no tiem ir definēts kā datu segments. Šeit šajā segmentā un ir dati, ko programma apstrādās. Neviena mainīgā programma var atrasties vairāk nekā vienā segmentā. Tāpēc, pat ja segmentā atrodas tikai viens mainīgais lielums kā masīvs, tas nespēs iegūt vairāk nekā 65536 baitus. Bet gandrīz, protams, papildus masīvam datu segmentā, daži vairāk mainīgie tiks aprakstīti, tāpēc faktisko atmiņas apjomu, ko var izvēlēties masīvā, ir formulā: 65536- S, kur S ir summa Atmiņa, kas jau ir izvēlēta citiem mainīgajiem lielumiem.

Kāpēc mums tas jāzina? Lai nebūtu pārsteigts, ja tulkotājs sniegs kļūdas ziņojumu par pārāk ilgu masīvu deklarāciju, kad programma nāk programmā (pareizi no sintakses viedokļa):

Ierakstiet myArray \u003d vesels skaitlis;

Jūs jau zināt, ka, ņemot vērā divu baitu attēlojumu, ir reāli paziņot masīvu ar elementu skaitu, kas vienāds ar 65536/2 -1 \u003d 32767. Un tad tikai tad, ja nav citu mainīgo lielumu. Divdimensiju blokiem jābūt vēl mazākiem indeksa robežām.

Problēmu risināšanas piemēri ar divdimensiju masīviem Pascal

Uzdevums: Atrodiet matricas ne-nulles elementu produktu.

Lēmums:

  • Lai atrisinātu šo uzdevumu, mums būs vajadzīgi mainīgie: matrica, kas, piemēram, no veseliem skaitļiem; P ir elementu, kas nav 0; I, J - masīvu indeksi; N, M - rindu un kolonnu skaits matricā.
  • Ievades dati ir n, m - to vērtības ieiet no tastatūras; Matrica - ievadot matricu izdot procedūras veidā, aizpildot matricu, nejauši, t.i. Izmantojot izlases () funkciju.
  • Izejas būs vērtība mainīgo P (darbs).
  • Lai pārbaudītu pareizību programmas, tas ir nepieciešams, lai izvadītu matricu uz ekrāna, lai tas izdotu produkcijas procedūru matricas.
  • Problēmu risinājuma procedūra:

vispirms mēs apspriedīsim galvenās programmas izpildi, mēs nedaudz vēlāk apspriedīsim procedūru īstenošanu:

  • mēs ieviest vērtības N un M;
  • Mēs ieviest divdimensiju masīvu Pascal, jo mēs aicinām procedūru VVOD (A), kur A - matrica;
  • Izdrukājiet iegūto matricu, jo mēs aicinām drukas procedūru (A);
  • Mēs piešķiram sākotnējo vērtību mainīgo p \u003d 1;
  • Mēs secīgi atrisināt visas rindas no 1. līdz n., Katrā rindā mēs atrisināsim visas kolonnas J no 1. līdz M -To, par katru matricas elementu mēs pārbaudīsim nosacījumu: ja IJ? 0, tad produkts p ir apvienot elementu A IJ (p \u003d p * ij);
  • Izņemiet matricas nulles elementu produkta vērtību;

Un tagad runāsim par procedūrām.

Piezīme (tas ir svarīgi!) Procedūras parametrs var būt jebkura iepriekš noteikta veida mainīgais, kas nozīmē, ka nosūtīšanai uz masīva procedūru kā parametru, tas ir jāapraksta iepriekš. Piemēram:

Veids
Matrica \u003d vesels skaitlis;
Procedūra Primer (A: matrica);
..............................

Atgriezīsimies tagad uz mūsu procedūrām.

Matricas ieejas procedūru sauc par VVOD, parametrs procedūras ir matrica, un tai būtu, kā rezultātā, kas nodota pamatprogrammai, tāpēc parametrs jānosūta ar atsauci. Tad mūsu procedūras nosaukums izskatīsies šādi:

Procedūra VVOD (VAR M: MATRIX);

Lai īstenotu ligzdotos ciklus procedūrā, mums ir vajadzīgi vietējie mainīgie lielumi, piemēram, K un H. Matrix uzpildes algoritms jau ir apspriests, tāpēc mēs to neatkārtosim.

Procedūru, kas izraisa matricu uz ekrāna tiek saukta par drukāšanu, procedūras parametrs ir matrica, bet šajā gadījumā tas ir ievades parametrs, tāpēc tiek nosūtīts pēc vērtības. Šīs procedūras nosaukums izskatīsies šādi:

Procedūra Print (M: matrica);

Un atkal, lai īstenotu nested ciklu ietvaros procedūras, mums būs nepieciešams skaitītāji, ļaujiet viņiem atsaukties uz to pašu - k un h. Matricas izejas algoritms ekrānā tika aprakstīts iepriekš, mēs izmantojam šo aprakstu.

Piemērs programmas divdimensiju masīva Pascal

Programma Proizvedenie;
Veids
Matrica \u003d vesels skaitlis;
Var.
A: matrica;
N, m, i, j: baits;
P: vesels skaitlis;
Procedūra VVOD (VAR M: MATRIX);
Var k, h: baits;
Sākt.
Par i: \u003d 1 līdz n do (mainīgais n par procedūru ir globāla, un tāpēc "zināms")
J: \u003d 1 līdz m DO (M mainīgais procedūrai ir globāla, un tāpēc "zināms")
M: \u003d nejauši (10);
Beigas;
Procedūra Print (M: matrica);
Var k, h: baits;
Sākt.
Par i: \u003d 1 līdz n
Sākt.
J: \u003d 1 līdz M Doo
Rakstīt (m: 4);
Writeln;
beigas;
Beigas;
Sākt (galvenais programmas sākums)
Writeln ("Ievadiet matricas dimensiju:");
Readln (n, m);
Vvod (a);
Drukāt (a);
P: \u003d 1;
Par i: \u003d 1 līdz n
J: \u003d 1 līdz M Doo
JA.<>0 tad p: \u200b\u200b\u003d p * a;
Writeln (p);
Beigas.

Divdimensiju masīvs Datu struktūra, kas uzglabā taisnstūra matricu formā:

A. 11 A. 12 A. 13 A. 14 A. 15 ... A. 1m. A. 21 A. 22 A. 23 A. 24 A. 25 ... A. 2m. A. 31 A. 32 A. 33 A. 34 A. 35 ... A. 3m. A. 41 A. 42 A. 43 A. 44 A. 45 ... A. 4m. A. 51 A. 52 A. 53 A. 54 A. 55 ... A. 5m. ... ... ... ... ... ... ... ... ... ... ... ... n1 A. n2. A. n3 A. n4. A. n5. ... A. nm.

  • Matricā katru elementu nosaka līnijas numurs un kolonnas numurs, kura krustojums ir
  • PASCAL, divdimensiju masīvs tiek pārbaudīts kā masīvs, kuru elementi ir lineāri masīvi (masīvs masīvs). Šādi divi divdimensiju masīvu apraksti ir identiski vAR MASS: Īsta masīvs; VaR masa: reālu masīvs;
  • Matricu sauc rindu skaits ir vienāds ar kolonnu skaitu kvadrātveida matrica.
  • Lai atsaukties uz Matrix elementu, jums ir jāizmanto divi indeksi, kas norāda līnijas numuru un kolonnas numuru. piemēram Myarr1. Iebildums Šis gadījums Masīva (Myarr1) elements ir ceturtajā rindā un piektajā kolonnā.
  • Viss, kas ir teikts par pamata darbībām ar viendimensiju blokiem, ir godīgi gan matricām. Ar zīmoga masīvu ciklā, mainīgie veseli skaitļi darbojas kā indeksi. Tradicionāli identifikators "tiek izmantots, lai norādītu līnijas indeksu. i. "Un kolonna -" j. “.
  • Matricas apstrāde ir tā, ka pirmās rindas elementi (kolonna) vispirms tiek uzskatīti par otro, utt līdz pēdējai.
  • Ja rindas skaits elementa sakrīt ar kolonnas numuru ( i \u003d j.) tas nozīmē, ka elements atrodas uz galvenā diagonāle Matrica.
  • Ja elements atrodas uz sāniem diagonāli, indeksi ir saistīti ar elementu skaitu ( n.) Šāda vienlīdzība: i + j \u003d n + 1

Divdimensiju masīva apraksts

Ir vairāki veidi, kā AD (aprakstiem) ar divdimensiju masīvu Pascal.

Iepriekšējais masīva veida apraksts

Tipa matrica \u003d vesels skaitlis; (Masīva vesels skaitlis) var masa: matrica;

Definīcija mainīgo kā masīvu bez provizorisku aprakstu par masīva veida

VaR masa: vesels skaitlis;

Divdimensiju masīva inicializācija

Inicializējot divdimensiju blokus, katra virkne ir papildu apaļo kronšteinu pāris:

Const masa: masīvs \u003d ((2,3,1,0), (1,9,1,3), (3,5,7,0));

Divdimensiju masīva elementu vērtību ievade / produkcija

Ļoti bieži masīva elementu vērtības tiek ievadītas no tastatūras. Šis informācijas iestatīšanas veids ir pārāk laikietilpīgs, strādājot ar masīviem. lieli izmēri. Lai atkļūdotu plašu algoritmu klasi, šāds informācijas ieraksts jānomaina, veidojot masīva elementus nejauši. Lai to izdarītu, izmantojiet procedūru randomizēt. un funkcija nejaušs. Strādājot ar divdimensiju blokiem, tiek izmantoti ligzdoti cikli (parasti cikls ar parametru priekš).

Aizpildīšanas masīva izlases numuri

const n \u003d 5; m \u003d 10; VAR I, J: vesels skaitlis; Matrica: vesels skaitlis; Sākas randomizēt; Par i: \u003d 1 līdz n do (masīvu rindas) J: \u003d 1 līdz m DO (pievienojot elementu kolonnām) matricas: \u003d izlases (100); (Mēs ievietojam pašreizējā elementa nejaušā numurā no intervāla: 4); Writeln (pāreja uz jaunu līniju izejas no iekšējā cikla) \u200b\u200bbeigām;

Problēmu risināšanas piemēri

1. piemērs.

Problēmas formulēšana. Ir doti vidēji pozitīvie skaitļi m un n. Lai veidotu veselu skaitļu matricu izmēru m × n, kurā visi elementi J-th kolonnā ir vērtība 5 · j (J \u003d 1, ..., N).

Const m \u003d 7; n \u003d 10; VAR I, J: baits; Matrica: vesels skaitlis; Sākt i: \u003d 1 līdz m darīt J: \u003d 1 līdz n do matrica: \u003d 5 * j; ... (masīva izeja)

2. piemērs.

Problēmas formulēšana. Ir doti vidēji pozitīvie skaitļi m, n un m numuru komplekts. Lai izveidotu izmēru m × n matricu, kurā katra kolonna satur visus numurus no avota sastādīšanas (tajā pašā secībā).

Const m \u003d 5; n \u003d 7; Vector: vesels skaitlis \u003d (3, 5, 2, 7, 4); VAR I, J: baits; Matrica: vesels skaitlis; sākas j: \u003d 1 līdz n do (mēs ņemt Jth kolonnu) par i: \u003d 1 līdz m darīt (risina elementus J-th kolonnas uz stīgas) matricas: \u003d vektors [i]; (Īstenošana) ... (ar rezultātu no rezultātā divdimensiju masīva)

Mājasdarbs

  1. Vidēji pozitīvie skaitļi m un n tiek dots. Lai veidotu veselu skaitļu matricu no izmēra m × n, kas visi elementi I-rinda Viņiem ir vērtība 10 · i (i \u003d 1, ..., m).
  2. Ir sniegti vidēji pozitīvie skaitļi M, N un N numuru kopums. Lai izveidotu matricu ar izmēru m × N, kurā katra līnija satur visus numurus no avota sastādīšanas (tajā pašā secībā).
  3. Papildus.Tiek sniegti vidēji pozitīvie skaitļi m, n, numurs d un m numuru komplektu. Veidot matricu izmēru m × n, kurā pirmā sleja sakrīt ar avota kopumu numuriem, un katras nākamās slejas elementi ir vienādi ar atbilstošo elementa iepriekšējās kolonnas un skaitļu D (kā Rezultātā katra matricas līnija satur aritmētiskās progresijas elementus).
  4. Papildus.Izmērs M × N matrica ir dota. Parādīt tās elementus, kas atrodas līnijās ar pat skaitļiem (2, 4, ...). Elementu izvadi veic ar līnijām, nosacītais operators neizmanto.