Nazad

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.

Top