Navigace: Hlavní stránka -> PASCAL -> 05 Jednorozměrná pole -> 05.05 Aplikace funkce signum na pole a naplnění výsledkem druhého pole

MENU

05.05 Aplikace funkce signum na pole a naplnění výsledkem druhého pole

Zadání:
Sestavte program, který nageneruje pole o 15 prvcích hodnotami z intervalu -10..10. Do druhého pole na pozici kladných čísel z prvního pole umístí hodnotu -1, nulové ponechá a na pozici kladných vloží hodnotu +1 (funkce signum). Obě pole vytiskne.
Řešení:
Pro jednoduchost budeme generovat hodnoty prvků pole z intervalu -10..+10 (pole1[i]:=random(21)-10;).
Pomocí cyklu FOR nagenerujeme každou hodnotu prvku pole, vložíme jí na příslušnou pozici a hned otestujeme,
zda je menší, rovno či větší než nula a na základě výsledku do druhého pole vložíme hodnotu -1, 0 nebo +1.
Na konci programu pomocí cyklu FOR obě pole vytiskneme.
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var pole1,pole2:array[1..15] of integer;
    i:integer;
begin

   randomize;

   for i:=1 to 15 do
   begin
      pole1[i]:=random(21)-10;
      if pole1[i]<0 then pole2[i]:=-1;
      if pole1[i]=0 then pole2[i]:=0;
      if pole1[i]>0 then pole2[i]:=1;
   end;

   writeln('Puvodni pole');
   for i:=1 to 15 do write(pole1[i]:4);
   writeln;
   writeln('Upravene pole');
   for i:=1 to 15 do write(pole2[i]:4);

   readln;

end.

program ke stažení