I GRUPA
Zadatak 1.
var
n, x1, y1, x2, y2, i, br : integer;
p : real;
zbirPov, trPov : int64;
f, g : Text;
function Pov(x1,y1,x2,y2 : integer) : int64;
begin
Pov := (x2-x1)*(y2-y1);
end;
begin
Assign(f,'zad1.in');
Assign(g,'zad1.out');
Reset(f); Rewrite(g);
ReadLn(f,n,p);
br := 0;
zbirPov := 0;
for i := 1 to n do
begin
ReadLn(f,x1,y1,x2,y2);
trPov := Pov(x1,y1,x2,y2);
if(trPov <= p) then
br := br + 1
else
zbirPov := zbirPov + trPov;
end;
WriteLn(g,br);
WriteLn(g,zbirPov);
Close(f); Close(g);
end.
Zadatak 2.
var
a, novi : array[1..100] of integer;
i, j, n, s, b, k, p : integer;
f, g : Text;
function suma(x, b : integer):integer;
var
s : integer;
begin
s := 0;
while x > 0 do
begin
s := s + (x mod b);
x := x div b;
end;
suma := s;
end;
begin
Assign(f,'zad2.in'); Assign(g,'zad2.out');
Reset(f); Rewrite(g);
ReadLn(f,n,b,s);
for i := 1 to n do Read(f,a[i]);
k := 0;
for i := 1 to n do
if suma(a[i],b) >= s then
begin
k := k + 1;
novi[k] := a[i];
end;
for i := 1 to k-1 do
for j := i+1 to k do
if novi[i] > novi[j] then
begin
p := novi[i]; novi[i] := novi[j]; novi[j] := p;
end;
for i := 1 to k do Write(g,novi[i],' ');
WriteLn(g);
Close(f); Close(g);
end.
Zadatak 3.
type
TNiz = array[1..100] of integer;
var
n, m, i, j, max, prenos : integer;
a, b, c : TNiz;
f, g : Text;
begin
Assign(f,'zad3.in'); Assign(g,'zad3.out');
Reset(f); Rewrite(g);
ReadLn(f,n,m);
for i := n downto 1 do Read(f,a[i]);
for i := m downto 1 do Read(f,b[i]);
max := n; if m > n then max := m;
for i := n+1 to max do a[i] := 0;
for i := m+1 to max do b[i] := 0;
for i := 1 to max do c[i] := 0;
prenos := 0;
for i := 1 to max do
begin
c[i] := (a[i] + b[i] + prenos) mod 10;
prenos := (a[i] + b[i] + prenos) div 10;
end;
if prenos > 0 then
begin
max := max + 1;
c[max] := prenos;
end;
for i := max downto 1 do Write(g,c[i]);
Close(f);
Close(g);
end.
II GRUPA
Zadatak 1.
Isti kao 1. zadatak za I grupu.
Zadatak 2.
type
TNiz = array[1..100] of longint;
var
n, b, c : integer;
niz, izdv : TNiz;
i, j, k : integer;
obr, pom : longint;
f, g : Text;
function Obrni(x : longint) : longint;
var
znak : integer;
novi : longint;
begin
novi := 0;
znak := 1;
if (x < 0) then znak := -1;
x := abs(x);
while(x > 0) do
begin
novi := novi * 10 + x mod 10;
x := x div 10;
end;
Obrni := novi * znak;
end;
begin
Assign(f,'zad2.in'); Assign(g,'zad2.out');
Reset(f); Rewrite(g);
ReadLn(f,n,b,c);
for i := 1 to n do Read(f,niz[i]);
k := 0;
for i := 1 to n do
begin
obr := Obrni(niz[i]);
if (b < obr) and (obr < c) then
begin
k := k + 1;
izdv[k] := niz[i];
end;
end;
for i := 1 to k-1 do
for j := i+1 to k do
if izdv[i] < izdv[j] then
begin
pom := izdv[i]; izdv[i] := izdv[j]; izdv[j] := pom;
end;
for i := 1 to k do
Write(g,izdv[i],' ');
Close(f);
Close(g);
end.
Zadatak 3.
type
TNiz = array[1..100] of integer;
var
n, m, i, j, max, znak : integer;
a, b, c : TNiz;
f, g : Text;
begin
Assign(f,'zad3.in'); Assign(g,'zad3.out');
Reset(f); Rewrite(g);
ReadLn(f,n,m);
znak := 0;
for i := n downto 1 do Read(f,a[i]);
for i := m downto 1 do Read(f,b[i]);
max := n; if m > n then max := m;
for i := n+1 to max do a[i] := 0;
for i := m+1 to max do b[i] := 0;
for i := 1 to max do c[i] := 0;
for i := 1 to max do
begin
if a[i] >= b[i] then
c[i] := a[i] - b[i]
else
begin
a[i] := a[i] + 10;
c[i] := a[i] - b[i];
j := i+1;
while (a[j] = 0) and (j <= max) do
begin
a[j] := 9;
j := j+1;
end;
if j > n then znak := -1
else
a[j] := a[j]-1;
end;
end;
While (c[max] = 0) and (max > 1) do max := max - 1;
if znak = -1 then Write(g,'-');
for i := max downto 1 do Write(g,c[i]);
Close(f);
Close(g);
end.