Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Napište programový modul implementující abstraktní datový typ čtvercová matice. Data jsou tvořena obecnými ukazateli. Operace: inicializace (uživatel zadá požadovaný rozměr matice, se kterým chce dále pracovat); vložení hodnoty na zvolenou pozici v matici; součet matic; výstup matice do textového souboru. Pro součet prvků matice a pro způsob zobrazení prvku matice připravte podprogramy, jejichž těla budou definována uživatelem vně modulu.
- unit ctvercovamatice;
- interface
- const M = 100;
- N = 100;
- type
- TypData = pointer;
- TypMatice = array[1..N, 1..M] of TypData;
- TypScitani = function(matice1, matice2 : pointer): pointer;
- TypZobrazeni = procedure(matice: TypMatice);
- var matice : TypMatice;
- f : text;
- //M,N : word;
- funkceSecti : TypScitani;
- proceduraZobraz : TypZobrazeni;
- procedure Init(var matice : TypMatice; radek, sloupec : byte);
- procedure Vloz(var matice : TypMatice; radek, sloupec : byte; Hodnota : TypData);
- function Soucet(matice1, matice2 : TypMatice; jak: TypScitani) : TypMatice;
- procedure Zobraz(matice : TypMatice; zobrazJak: TypZobrazeni; var f:text);
- implementation
- procedure Init(var matice : TypMatice; radek, sloupec : byte);
- var i,j : byte;
- begin
- for i:=1 to radek do begin
- for j:=1 to sloupec do begin
- matice[i,j] := nil;
- end;
- end;
- end;
- procedure Vloz(var matice : TypMatice; radek, sloupec : byte; Hodnota : TypData);
- begin
- matice[radek,sloupec]:=Hodnota;
- end;
- function Soucet(matice1, matice2 : TypMatice; jak: TypScitani) : TypMatice;
- var i,j : byte;
- begin
- for i := 1 to N do begin
- for j:= 1 to M do begin
- Soucet := jak(matice1[i,j], matice2[i,j]);
- end;
- end;
- end;
- procedure Zobraz(matice : TypMatice; zobrazJak: TypZobrazeni; var f:text);
- var i,j : byte;
- begin
- append(f);
- for i := 1 to N do begin
- for j := 1 to M do begin
- zobrazJak(matice[i,j]); //zobrazJak je parametr, ktery prebira datovy typ TypZobrazeni, ktery prebira uziva
- end;
- end;
- close(f);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement