Kao u Pascalu, realizirajte matricu. Dvodimenzionalni pascal nizovi - matrica

Posljednja lekcija Pascal napisana je 7. marta, a zatim smo se rastavljali. Danas učimo šta dvodimenzionalni niz u PascaluKako je opisano i šta on predstavlja. Pročitajte više dalje.

Dakle, šta je dvodimenzionalan niz?Za percepciju svjetla, zamislit ćemo jednodimenzionalni niz kao liniju, a koji svi elementi kreću vodoravno, a dvodimenzionalni kao kvadrat, u kojim se elementima nalaze vodoravno i okomito. Dvodimenzionalni niz sastoji se od linija i stupaca, nazivaju se i matricom ili matričnim nizom.

Kako se opisuju dvodimenzionalni nizovi? Za pisanje dvodimenzionalnih nizova postoji nekoliko načina, razmotrit ću ih 2.

1 Način opisa niza: niz vrste varijabli u nizu (cijeli broj / pravi / bajt);

2 metoda za opisivanje niza: niz niza vrste varijabli u nizu;

Prvo opišite linije (1..m), a zatim stupci (1..n).

U drugoj metodi opisana je kao da je dva jednodimenzionalna niza, koja zajedno formiraju jednu dvodimenzionalnu.

Dvodimenzionalni niz može se opisati u gornjem dijelu tipa za naknadnu žalbu na njemu nekoliko puta ili u varijabilnim opisima VaR-a, želim obratiti pažnju na to umjesto M i N, možete zamijeniti brojeve, a možete zamijeniti brojeve, a možete zamijeniti sastanke i možete koristiti konstante .

Primjer dvodimenzionalnog posla niza u odjeljku varijabilnih opisa:

Konst.
M \u003d 100;
n \u003d 100;
var.
O: Smjer cijelog broja;

U ovom slučaju postavljamo dvodimenzionalni niz veličine 100 po 100, odnosno imamo kvadratnu matricu.

Primjer zadatka matričnog niza pomoću odjeljka tipa:

Konst.
M \u003d 100;
n \u003d 100;
Vrsta
Matrica \u003d niz cijelih cijelih;
var.
O: Matrica;
B: Matrica;

U drugom primjeru postavljamo dva identična matrična matrica sa dimenzijama 100 po 100, kada opisuju niz B, ne moramo ponovo opisati njegovu veličinu i vrstu podataka.

Kako pristupiti dvodimenzionalnom nizu promjenjive varijabli ćelije?

Da biste se odnosili na dvodimenzionalni niz, prvo morate odrediti broj broja, a zatim broj stupca na sljedeći način:

x-CHALY varijablika, naziv - niz, linijski I-broj, J - broj stupaca.

Štaviše, ja i J mogu biti i varijable i cijeli brojevi.

Primjer pisanja podataka u nizu:

Za i: \u003d 1 do n do // zadatak u linijskoj petlji
Za J: \u003d 1 do m do // zadatak u ciklusu broja stupaca
O: \u003d Slučajno (100); // Dodjeljivanje broja ćelije I i broj slučajne stupce

Nasumili smo niz nasumičnim brojevima od 1 do 100.

Primjer programa pomoću dvodimenzionalnog niza u kojem ispunjavamo niz slučajnih brojeva i prikazuje ga na ekranu:

Var // opis varijabli i niza
Matrica: niz cijelih;
I, J: INTEGER;

Započnite // Početna program
Writeln ("Dvodimenzionalni niz:"); // dijalog sa korisnikom

Za i: \u003d 1 do 10 do // popunjavanje niza
Za J: \u003d 1 do 10 učiniti
Matrica: \u003d slučajno (100);

Za i: \u003d 1 do 10 započnite // izlaz niza
Za J: \u003d 1 do 10 učiniti
Pisati (matrica "");
Writeln.
Writeln ("stranica"); // Ako želite, možete izbrisati
kraj; // kraj programa

// čitajln // koristi se za Turbo Pascal

Dvodimenzionalni niz u Pascalu se tumači kao jednodimenzionalni niz, čiji je tip elemenata također niz (niz poravladanja). Položaj elemenata u dvodimenzionalnim pascal nizovima opisan je dva indeksa. Mogu biti zastupljeni kao pravokutni stol ili matrica.

Razmotrite dvodimenzionalni niz Pascala s dimenzijom od 3 * 3, odnosno će biti tri retka, a u svakom retku tri stavke:

Svaki element ima svoj broj, poput jednodimenzionalnih nizova, ali sada se broj već sastoji od dva broja - brojevi linija u kojima se element nalazi i broj stupca. Dakle, broj elemenata određuje se prelazom niza i stupca. Na primjer, a 21 je element koji stoji u drugom retku i u prvom stupcu.

Opis dvodimenzionalnog masiva Pascala.

Postoji nekoliko načina za deklizovanje dvodimenzionalnog masiva Pascala.

Već znamo kako opisati jednodimenzionalne nizove, od kojih elementi mogu imati bilo kakav tip, a sami elementi mogu biti nizovi. Razmotrite sljedeći opis vrsta i varijabli:

Primjer opisa dvodimenzionalnog masiva Pascala

Vrsta
Vektor \u003d niz<тип_элементов>;
Matrica \u003d niz vektor;
Var M: Matrica;

Proglašili smo dvodimenzionalni niz Pascala M koji se sastoji od 10 redaka, u svakom od kojih 5 stupaca. U ovom slučaju M [i] može se pristupiti svakom I (i], a svaki je element unutar I-TH reda - m [i, j].

Definicija vrsta za dvodimenzionalne pascal nizove mogu se postaviti i u jednoj liniji:

Vrsta
Matrix \u003d niz polja< тип элементов >;
ili čak lakše:
Vrsta
Matrix \u003d niz od<тип элементов>;

Žalba na elemente dvodimenzionalnog niza ima oblik: m [i, j]. To znači da želimo dobiti element koji se nalazi u I-R Rowu i J-stupcu. Ovdje je glavna stvar ne zbuniti redove sa stupovima, u protivnom možemo ponovo dobiti privlačnost nepostojećeg elementa. Na primjer, žalba M elementu ima ispravan obrazac za unos, ali može prouzrokovati grešku u programu.

Osnovne akcije sa dvodimenzionalnim masivima Pascala

Sve što je rečeno o osnovnim akcijama s jednodimenzionalnim nizovima je fer i za matrice. Jedina akcija koja se može izvesti u matrica iste vrste su zadatak. Oni, ako imamo dvije matrice jedne vrste u programu, na primjer,

vrsta
Matrica \u003d niz cijelih cijelih;
var.
A, B: Matrica;

zatim tokom izvršenja programa možete dodijeliti matricu sVEDOK JOVANOVIĆ - ODGOVOR: Vrijednost matrice b. (A: \u003d b). Sve ostale akcije obavljaju se naizmenično, sa svim dozvoljenim operacijama koje su definirane za vrstu podataka na elementu niza. To znači da ako se niz sastoji od celih brojeva, operacije definirane za cijele brojeve mogu se izvesti iznad njegovih elemenata, ako se niz sastoji od znakova, operacije definirane za rad sa simbolima primjenjuju se na njih.

Unesite dvodimenzionalni masiv Pascal.

Za sekvencijalni ulaz jednodimenzionalnih elemenata niza koristili smo za ciklus, koji je promijenila vrijednost indeksa od 1. do potonjeg. Ali položaj elementa u dvodimenzionalnom masivu Pascala određuje se dva indeksa: broj linije i broj stupaca. To znači da ćemo trebati dosljedno mijenjati broj linije od 1. do posljednjeg i u svakom retku da bismo izvršili elemente stupaca od 1. do posljednjeg. Dakle, trebat će nam dva za cikluse, a jedan od njih bit će uložen u drugu.

Razmislite o primer unosa dvodimenzionalnog masiva Pascala sa tastature:

Primjer ulaznog programa dvodimenzionalnog masiva Pascala sa tastature

vrsta
Matrica \u003d niz cijelih cijelih;
var.
A ,: matrica;
I, J: INTEGER; (indeksira indeksi)
Započnite.
Za i: \u003d 1 do 5 učiniti (ciklus za poprsje svih linija)
Readln (a [i, j]); (ulaz iz elementa tastature u I-R retku i J-stupcu)

Dvodimenzionalni pascal niz može se napuniti nasumično, i.e. Upotrijebite slučajnu (n) funkciju, kao i dodijelite vrijednost nekog izraza u svaki element matrice. Metoda popunjavanja dvodimenzionalnog Pascal matrica odabran je ovisno o skupu zadataka, ali u svakom slučaju treba svaki element treba definirati u svakom retku i svakom stupcu.

Izlaz dvodimenzionalnog masiva Pascala na ekranu.

Izlaz elemenata dvodimenzionalnog masiva Pascala također se vrši u seriji, potrebno je ispisati stavke svakog reda i svaki stupac. Istovremeno bih htio elemente koji stoje u jednoj liniji, štampu u blizini, I.E. U nizu, a elementi stupca bili su nalaze se pod drugima. Da biste to učinili, morate izvršiti sljedeći niz radnji (razmotrite fragment programa za niz opisano u prethodnom primjeru):

Primjer izlaznog programa dvodimenzionalnog masiva Pascala

za i: \u003d 1 do 5 učiniti (ciklus za poprsje svih linija)
Započnite.
Za J: \u003d 1 do 10 do (razbijte sve elemente žica na stupcima)
Pisati (a [i, j]: 4); (Ispiši elemente u I-TH Redujci matrice u jednom retku na ekranu i 4 položaja daju se izlazu svakog elementa)
Writeln; (Prije promjene broja linije u matrici morate prevesti kursor na početak novog reda zaslona)
kraj;

Komentar ( važno je!): Vrlo često u programima studenata susreću se greška prilikom unosa na tipkovnicu ili izlaz na ekran na matriji, pokušava: Readln (a), Writeln (A), gdje ali - ovo je tip varijabla INGRAJ. Istovremeno, iznenade se porukom prevodilaca da se varijabla ove vrste ne može smatrati ili ispisuti. Možda ćete shvatiti zašto se to ne može učiniti ako predstavite n krigle stojeći u nizu, a u vašim rukama, na primjer, čajnik s vodom. Možete li na ekipi "voda" napuniti sve krugove odjednom? Bez obzira na to koliko se trudili, ali u svakoj šagli ćete morati da sipate odvojeno. Punjenje i izlaz na ekranu elemenata niza moraju se izvesti i uzastopno i elementarno, jer U memoriji računara, elementi niza nalaze se u uzastopnim ćelijama.

Prezentacija dvodimenzionalnog masiva Pascala u memoriji

Elementi apstraktnog niza u memoriji stroja fizički su smješteni uzastopno, u skladu s opisom. U ovom slučaju svaki element uzima u memoriju broj bajtova koji odgovara njegovoj veličini. Na primjer, ako se niz sastoji od cijelih elemenata, tada će svaki element zauzimati dva bajta. A cijeli niz će uzeti s ^ 2 bajta, gdje je broj elemenata u nizu.

I koliko će se prostora pojaviti niz, koji se sastoji od nizova, I.E. Matrica? Očito: s i ^ s j, gdje sam i mi je broj reda, a s j je broj predmeta u svakom redu. Na primjer, za niz tipa

Matrica \u003d niz cijelih cijelih;

trebat će 12 memorijskih bajtova.

Kako će elementi ovog niza biti smješteni u memoriji? Razmislite o matrix matričnom nizu u memoriji.

U svakom elementu m tip cijeli broj dvije memorije označene su. Smještaj u memoriji vrši se "odozdo prema gore". Elementi se postavljaju redoslijedom promjene indeksa, što odgovara shemi priključenih ciklusa: prvo, prvi red je postavljen, a zatim drugi, treći ... unutar linije u redu su elementi: prvi, drugi , itd.

Kao što znamo, pristup bilo kojoj varijabli mogući je samo ako je adresa memorijske ćelije poznata u kojoj se varijabla pohranjuje. Specifična memorija dodijeljena je za varijablu prilikom učitavanja programa, odnosno međusobnu prepisku između varijable i ćelijske adrese. Ali ako smo proglasili varijablu kao niz, program "zna" adresu početka niza, odnosno njegov prvi element. Kako se odvija pristup svim ostalim elementima niza? Sa stvarnim pristupom memorijskoj ćeliji, u kojem se pohranjuje element dvodimenzionalnog niza, sustav izračunava svoju adresu formulom:

Addr + sizelem * cols * (i -1) + sizelem * (j -1),

gdje je Addr stvarna početna adresa kojom se niz nalazi u memoriji; I, J - Indeksi elementa u dvodimenzionalnom nizu; Vezelem - Veličina elementa niza (na primjer, dva bajta za cijeli broj elemenata); COLS - broj predmeta u nizu.

Expression sizeelem * Cols * (I -1) + sizeelem * (J -1) naziva se pomak u odnosu na početak niza.

Koliko se memorije raspoređuje za niz?

Razmislite o tome koliko je pitanje koliko se memorije dodjeljuje nizu (razili smo se u prethodnom odjeljku), ali o tome kolika je maksimalna dopuštena veličina niza, s obzirom na ograničenu količinu memorije.

Da biste radili program, memorija je dodijeljena segmenti od 64 KB, barem jedan od njih je definiran kao segment podataka. Ovdje u ovom segmentu i postoje ti podaci koji će program obraditi. Nijedan varijabilni program ne može se nalaziti u više segmenta. Stoga, čak i ako se samo jedna varijabla opisana kao niz nalazi u segmentu, neće moći dobiti više od 65536 bajta. Ali gotovo sigurno, pored niza u segmentu podataka opisat će se još neke varijable, tako da je stvarna količina memorije koja se može odabrati za nizu, u formuli su: 65536- S, gdje je iznos memorije već odabrane za ostale varijable.

Zašto to moramo znati? Da bi se ne iznenadio ako prevoditelj će dati poruku o pogrešci proglašenju predujnog polja kada program dolazi u programu (tačan sa stanovišta sintakse):

Tip Myarray \u003d niz cijelog broja;

Već znate da, s obzirom na dvoboj-prikaz cijelih brojeva, realno je proglasiti niz s brojem elemenata jednako 65536/2 -1 \u003d 32767. A onda samo ako nema drugih varijabli. Dvodimenzionalni nizovi trebali bi imati još manje indeksne granice.

Primjeri rješavanja problema sa dvodimenzionalnim nizovima Pascala

Zadatak: Pronađite proizvod bez nula elemenata matrice.

Odluka:

  • Da biste riješili ovaj zadatak, trebat će nam varijable: matrica, koja se sastoji, na primjer, iz cijelih elemenata; P je proizvod elemenata koji nisu 0; I, J - Indeksi niza; N, m - broj redaka i stupaca u matrici.
  • Ulazni podaci nisu n, m - njihove vrijednosti ulaze sa tastature; Matrica - ulazak u matricu za izdavanje u obliku postupka, punjenje matrice nasumično će, i.e. Pomoću slučajnog () funkcije.
  • Izlaz će biti vrijednost varijable P (rad).
  • Da biste provjerili ispravnost programa, potrebno je izvući matricu na ekranu, jer za ovo izlaz izlazne procedure matrice.
  • Postupak rješenja problema:

prvo ćemo razgovarati o ispunjavanju glavnog programa, razgovarat ćemo o provedbi postupaka malo kasnije:

  • uvodimo vrijednosti n i m;
  • Uvodimo dvodimenzionalni masiv Pascala, za to se žali na postupak VVOD (A), gdje A - matrica;
  • Ispišite rezultirajuću matricu, za to se žali na postupak ispisa (A);
  • Dodijelimo početnu vrijednost varijable P \u003d 1;
  • Sortivno ćemo riješiti sve retke od 1. do br., U svakom retku ćemo riješiti sve stupce J od 1. do M -DO, za svaki element matrice, provjerit ćemo stanje: ako ij? 0, tada se proizvod p treba spajati u element IJ (P \u003d p * a IJ);
  • Povući vrijednost proizvoda nulernih elemenata matrice - p;

A sada razgovarajmo o postupcima.

Komentar (važno je!) Parametar postupka može biti svaka varijabla unaprijed određenog tipa, što znači da se za prijenos u postupak niza kao parametar, mora se unaprijed opisati. Na primjer:

Vrsta
Matrica \u003d niz cijelih cijelih;
Prajmer postupaka (A: matrica);
..............................

Vratimo se sada na naše postupke.

Postupak unosa matrice naziva se VVOD, parametar postupka je matrica, a kao rezultat, kao rezultat, prenesen na osnovni program, pa se parametar prenosi referencom. Tada će naslov našeg postupka izgledati ovako:

Postupak VVOD (VAR M: MATRIX);

Da bi implementirali ugniježđene cikluse u postupku, potrebne su nam lokalne varijable, na primjer, k i h. Algoritam punjenja matrice već je razgovarao, tako da ga nećemo ponoviti.

Postupak izlaganja matrice na ekranu naziva se Ispis, parametar postupka je matrica, ali u ovom je slučaju, stoga je ulazni parametar, dakle, prenosi se po vrijednosti. Naslov ovog postupka izgledat će ovako:

Ispis postupka (m: matrica);

I opet, za provedbu ugniježđenih ciklusa u okviru postupka, trebat će nam šalteri, neka se odnose na isto - K i H. Algoritam za izlaz matrice na ekranu je gore opisana, koristimo ovaj opis.

Primjer programa dvodimenzionalnog niza Pascala

Program proizvođač;
Vrsta
Matrica \u003d niz cijelih cijelih;
Var.
O: Matrica;
N, m, ja, j: bajt;
P: INTEGER;
Postupak VVOD (VAR M: MATRIX);
Var K, H: bajt;
Započnite.
Za i: \u003d 1 do n učiniti (varijabilna n za postupak je globalna, a samim tim "poznati")
Za J: \u003d 1 do m do (m varijabla za postupak je globalni, a samim tim i "poznati")
M: \u003d slučajno (10);
Kraj;
Ispis postupka (m: matrica);
Var K, H: bajt;
Započnite.
Za i: \u003d 1 do n učiniti
Započnite.
Za J: \u003d 1 do M doo
Pisanje (m: 4);
Writeln;
kraj;
Kraj;
Započnite (glavni program započinje)
Writeln ("unesite dimenziju matrice:");
Readln (N, M);
VVOD (a);
Ispis (a);
P: \u003d 1;
Za i: \u003d 1 do n učiniti
Za J: \u003d 1 do M doo
Ako A.<>0 tada p: \u003d p * a;
Writeln (p);
Kraj.

Dvodimenzionalni niz Struktura podataka Spremanje pravokutne matrice obrasca:

SVEDOK JOVANOVIĆ - ODGOVOR: 11 SVEDOK JOVANOVIĆ - ODGOVOR: 12 SVEDOK JOVANOVIĆ - ODGOVOR: 13 SVEDOK JOVANOVIĆ - ODGOVOR: 14 SVEDOK JOVANOVIĆ - ODGOVOR: 15 ... SVEDOK ŠEŠELJ - ODGOVOR: 1m. SVEDOK JOVANOVIĆ - ODGOVOR: 21 SVEDOK JOVANOVIĆ - ODGOVOR: 22 SVEDOK JOVANOVIĆ - ODGOVOR: 23 SVEDOK JOVANOVIĆ - ODGOVOR: 24 SVEDOK JOVANOVIĆ - ODGOVOR: 25 ... SVEDOK ŠEŠELJ - ODGOVOR: 2m. SVEDOK JOVANOVIĆ - ODGOVOR: 31 SVEDOK JOVANOVIĆ - ODGOVOR: 32 SVEDOK JOVANOVIĆ - ODGOVOR: 33 SVEDOK JOVANOVIĆ - ODGOVOR: 34 SVEDOK JOVANOVIĆ - ODGOVOR: 35 ... SVEDOK ŠEŠELJ - ODGOVOR: 3m. SVEDOK JOVANOVIĆ - ODGOVOR: 41 SVEDOK JOVANOVIĆ - ODGOVOR: 42 SVEDOK JOVANOVIĆ - ODGOVOR: 43 SVEDOK JOVANOVIĆ - ODGOVOR: 44 SVEDOK JOVANOVIĆ - ODGOVOR: 45 ... SVEDOK ŠEŠELJ - ODGOVOR: 4m. SVEDOK JOVANOVIĆ - ODGOVOR: 51 SVEDOK JOVANOVIĆ - ODGOVOR: 52 SVEDOK JOVANOVIĆ - ODGOVOR: 53 SVEDOK JOVANOVIĆ - ODGOVOR: 54 SVEDOK JOVANOVIĆ - ODGOVOR: 55 ... SVEDOK ŠEŠELJ - ODGOVOR: 5m. ... ... ... ... ... ... ... ... n1 SVEDOK JOVANOVIĆ - ODGOVOR: n2. SVEDOK JOVANOVIĆ - ODGOVOR: n3 SVEDOK JOVANOVIĆ - ODGOVOR: n4. SVEDOK JOVANOVIĆ - ODGOVOR: n5 ... SVEDOK ŠEŠELJ - ODGOVOR: nm.

  • U matrici se svaki element određuje brojem linije i broju stupca, na raskrižju koje je
  • U Pascalu se dvodimenzionalni niz ispituje kao niz, od kojih su elementi linearnih nizova (niz nizova). Sljedeća dva opisa dvodimenzionalnih nizova su identična var masa: niz poroka stvarne; Var masa: niz stvarnog;
  • Matrica u kojoj je broj redaka jednak broju stupaca naziva se kvadratna matrica.
  • Da biste se odnosili na element matrice, morate koristiti dva indeksa koja označavaju broj linije i broj stupaca. na primjer Myarr1. U ovaj slučaj Element niza (Myarr1) je u četvrtini i petom stupcu.
  • Sve što je rečeno o osnovnim akcijama s jednodimenzionalnim nizovima je fer i za matrice. Sa žigom Masiva u ciklusu, varijable cjelobrojnog tipa djeluju kao indeksi. Tradicionalno, identifikator se "koristi za označavanje indeksa linije. i. ", A stupac -" j. “.
  • Obrada matrice je da se elementi prvog retka (stupca) prvo razmotre, a zatim drugi itd. Do potonjeg.
  • Ako se red reda elementa poklapa sa brojem stupaca ( i \u003d j.), to znači da se element leži glavna dijagonala Matrica.
  • Ako se element leži na bočnoj dijagonalo, indeksi su povezani s brojem elemenata ( n.) Sljedeća jednakost: i + J \u003d N + 1

Opis dvodimenzionalnog niza

Postoji nekoliko načina za oglas (opisi) dvodimenzionalnog niza u Pascalu.

Prethodan opis vrste niza

Tip matrice \u003d niz cijelih cijelog; (Masiv cijelih brojeva) var mase: matrica;

Definicija varijable kao niza bez preliminarnog opisa vrste niza

Var masa: niz cijelih cijelih;

Inicijalizacija dvodimenzionalnog niza

Prilikom inicijalizacije dvodimenzionalnih nizova, svaki je niz dodatni par okruglih zagrada:

Masa Const: Array \u003d ((2,3,1), (1,9,1,3), (3.5,70));

Ulaz / izlaz vrijednosti elemenata dvodimenzionalnog niza

Vrlo često su vrijednosti elemenata niza unose iz tastature. Ovaj način postavljanja informacija previše je dugotrajan prilikom rada sa nizovima. velike veličine. Za uklanjanje široke klase algoritama, takav unos informacija treba zamijeniti formiranjem elemenata niza nasumično. Da biste to učinili, koristite postupak nasumično. i funkcija nasumičan. Pri radu sa dvodimenzionalnim nizovima koriste se ugniježđene cikluse (obično ciklus parametrom za).

Punjenje nasumičnih brojeva niza

Const n \u003d 5; M \u003d 10; Var I, J: INTEGER; Matrica: niz cijelih; Započnite nasumično; Za i: \u003d 1 do n do (redovi) za J: \u003d 1 do m do (dodavanje elementa u stupce) matrica: \u003d slučajno (100); (Mi se stavljamo u trenutni slučajni broj elemenata iz intervala: 4); Writeln (prelazak na novu liniju za izlaz iz internog ciklusa) END;

Primjeri rješavanja problema

Primjer 1.

Formulacija problema. Dani su prosječni pozitivni brojevi M i N. Da bi se formirala cijela matrica veličine m × n u kojoj svi elementi J-TH stup imaju vrijednost 5 · j (j \u003d 1, ..., n).

CONST M \u003d 7; n \u003d 10; Var I, J: Byte; Matrica: niz cijelih; Započnite za I: \u003d 1 do m za J: \u003d 1 do n do matrice: \u003d 5 * J; ... (izlaz niza)

Primer 2.

Formulacija problema. Daju se prosječni pozitivni brojevi M, N i skup M brojeva. Da bi se formirala matrica veličine m × n, u kojoj svaki stupac sadrži sve brojeve iz izvornog biranja (u istom redoslijedu).

Const M \u003d 5; n \u003d 7; Vektor: INTER-a INTEGER \u003d (3, 5, 2, 7, 4); Var I, J: Byte; Matrica: niz cijelih; Započnite za J: \u003d 1 do n (uzimamo JTH stupac) za I: \u003d 1 do m do (adresira elemente J-TH stupca na žicama) matrica: \u003d vektor [i]; (implementacija) ... (sa rezultatima rezultirajućeg dvodimenzionalnog niza)

Zadaća

  1. Dati su prosječni pozitivni brojevi M i N. Da bi se formirala cijela matrica veličine m × n, koji svi elementi I-ROW Imaju vrijednost od 10 · ja (i \u003d 1, ..., m).
  2. Daju se prosječni pozitivni brojevi M, N i skup n brojeva. Da biste formirali matricu veličine m × n, u kojem svaka linija sadrži sve brojeve iz izvornog biranja (u istom redoslijedu).
  3. Uz to.Daju se prosječni pozitivni brojevi M, N, broj D i skup m brojeva. Da bi se formirala matrica veličine m × n, u kojoj se prvi stupac poklapa sa izvornim setom brojeva, a elementi svakog sljedećeg stupca jednaki su zbroju odgovarajućeg elementa prethodnog stupca i broja D (kao Rezultat toga, svaki redak matrice sadrži elemente aritmetičkog napredovanja).
  4. Uz to.Dat je matrica veličine m × n. Prikažite njegove elemente koji se nalaze u linijama sa čak brojevima (2, 4, ...). Izlaz elemenata izrađuje se linijama, uvjetni operater ne koristi.