KEMBAR78
Matrice | PDF
0% found this document useful (0 votes)
18 views4 pages

Matrice

This document contains 5 programming exercises involving matrices in Pascal. Each exercise defines matrix types, populates matrices using different logic, and includes functions to print or calculate values from matrices. The exercises demonstrate various ways to define, populate, and manipulate matrices programmatically.

Uploaded by

Sejo Bahović
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views4 pages

Matrice

This document contains 5 programming exercises involving matrices in Pascal. Each exercise defines matrix types, populates matrices using different logic, and includes functions to print or calculate values from matrices. The exercises demonstrate various ways to define, populate, and manipulate matrices programmatically.

Uploaded by

Sejo Bahović
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Matrice

Thursday, December 8, 2022 2:16 PM

zad24.pas do zad28.pas

*Matrice možemo da definišemo pomoću sledeće sintakse:


var matr:array of array of integer;

*Možemo definisati matricu koa novu promjenjivu zbog lakšeg pisanja:


type matrica=array of array of integer;
ako smo već definisali niz kao svoj tip, možemo ovo zapisati još kraće:
type niz = array of integer;
type matrica=array of niz;

1. Zadatak

//matrice
program zad24;
type niz = array of integer;//unosenje novog tipa za niz
type matrica=array of array of integer; //unosenje novog tipa za matricu
var matr: array[0..5, 0..7] of Integer;
var matr1:matrica;
var n, m, i, j:Integer;
procedure stampaMatrice(n,m:Integer; matr: matrica);
var i, j:Integer;
begin
for i:= 0 to n-1 do
begin
for j:= 0 to m-1 do
write(matr1[i, j], ' ');
writeln();
end;
end;
procedure zbirPokolonama(n, m:Integer;matr:matrica);
var arr:niz;
var i, j:Integer;
begin
setlength(arr, m);
for i:=0 to m-1 do
arr[i] :=0; //na pocetku suma elemenata svake kolone je 0
for j := 0 to m-1 do
begin
for i := 0 to n-1 do
arr[j] := arr[j] + matr[i, j];
end;
for i:=0 to m-1 do
write(arr[i], ' ');
end;
begin
readln(n, m);
setlength(matr1, n, m);
for i:= 0 to n-1 do
for j:=0 to m-1 do
matr1[i, j] := i * j;

for i:= 0 to n-1 do

New Section 1 Page 1


for i:= 0 to n-1 do
begin
for j:= 0 to m-1 do
write(matr1[i, j], ' ');
writeln();
end;

stampaMatrice(n, m, matr1);
writeln('------------------');
zbirPoKolonama(n, m, matr1);
end.

2. Zadatak

//zad 2 iz druge grupe zad


program zad25;
type niz = array of integer;
type matrica = array of niz;
var matr:matrica;
var i, j, n , m:integer;
function odbanaKraljevstva(n, m:Integer; matr:matrica): integer;
var i:integer;
begin
for i := 0 to n-1 do
odbanaKraljevstva := odbanaKraljevstva + matr[i, 0]; //dodamo prvu
kolonu
for i := 0 to m-1 do
odbanaKraljevstva := odbanaKraljevstva + matr[0, i]; //dodamo prvu
vrstu
for i := 1 to n-1 do
odbanaKraljevstva := odbanaKraljevstva + matr[i, m-1]; //poslednja
vrsta
for i := 1 to m-2 do
odbanaKraljevstva := odbanaKraljevstva +matr [n-1, i];
end;
begin
readln(n);
setlength(matr, n, n);
for i:=0 to n-1 do
for j:= 0 to n-1 do
read(matr[i, j]);

writeln(odbanaKraljevstva(n, n,matr));
end.

3. Zadatak

//zad 4 iz druge grupe zad


program zad26;
type niz = array of integer;
type matrica = array of niz;
var matr:matrica;
var i, j, n , m:integer;
function simetricna(n, m:Integer; matr:matrica): boolean;
var i, j:integer;
begin
simetricna := true;
for i:= 0 to n-1 do

New Section 1 Page 2


for i:= 0 to n-1 do
for j:=i+1 to n-1 do
if matr[i, j] <> matr[j, i] then
simetricna := false;
end;
begin
readln(n);
setlength(matr, n, n);
for i:=0 to n-1 do
for j:= 0 to n-1 do
read(matr[i, j]);
writeln(simetricna(n, n, matr));
end.

4. Zadatak

//zad 5 iz druge grupe zad


program zad27;
type niz = array of integer;
type matrica = array of niz;
var matr:matrica;
var n, m:integer;
procedure stampaMatrice(n,m:Integer; matr: matrica);
var i, j:Integer;
begin
for i:= 0 to n-1 do
begin
for j:= 0 to m-1 do
write(matr[i, j], ' ');
writeln();
end;
end;
procedure popuniMatricu(n, m:integer; var matr:matrica);
var i, j, br:integer;
begin
br:=0;
for i := 0 to n-1 do
begin
if i mod 2 = 0 then
begin
for j := 0 to m-1 do
begin
matr[i, j] := br;
br := br+1;
end;
end
else
for j := m-1 downto 0 do
begin
matr[i, j] := br;
br := br+1;
end;
end;
end;

begin
read(n, m);
setlength(matr, n, m);
popuniMatricu(n, m, matr);

New Section 1 Page 3


popuniMatricu(n, m, matr);
stampaMatrice(n, m, matr);
end.

5. Zadatak

program zad28;
type niz = array of integer;
type matrica = array of niz;
var matr:matrica;
var n, m, br:integer;
procedure stampaMatrice(n,m:Integer; matr: matrica);
var i, j:Integer;
begin
for i:= 0 to n-1 do
begin
for j:= 0 to m-1 do
write(matr[i, j], ' ');
writeln();
end;
end;
procedure popuniMatricu(n,m:Integer; matr: matrica);
var i, j, ip, jp:Integer;
begin
ip := 0;
jp := 0;
br := 0;
while br < n * m do
begin
i := ip;
j := jp;
while (j >= 0) and (i < n) do
begin
matr[i, j] := br;
br := br+1;
i := i + 1;
j := j + 1;
end;
if jp < m then
jp := jp +1
else
ip := ip +1;
end;
end;
begin
read(n, m);
setlength(matr, n, m);
popuniMatricu(n, m, matr);
stampaMatrice(n, m, matr);
end.

New Section 1 Page 4

You might also like