Navigace: Hlavní stránka -> PASCAL -> 06 Dvojrozměrná pole -> 06.04 Výpočet počtu sudých čísel na diagonálách pole

MENU

06.04 Výpočet počtu sudých čísel na diagonálách pole

Zadání:
Sestavte program, který nageneruje čtvercové pole NxN náhodných čísel a vypočte počet sudých čísel na hlavní a vedlejší diagonále.
Řešení:
Jelikož testujeme hlavní a vedlejší diagonálu ve čtvercovém poli, nemusíme při tomto testu používat dva vnořené
cykly FOR, stačí pouze jeden. Prvky na hlavní diagonále mají pozici [i,i] a prvky na vedlejší diagonále [i,n+1-i].
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var pole:array[1..100,1..100] of integer;
    n,i,j,poceth,pocetv:integer;

begin

   write('Zadejte rozmer pole: ');
   readln(n);

   randomize;

   for i:=1 to n do
      for j:=1 to n do
         pole[i,j]:=random(100);

   poceth:=0;
   pocetv:=0;

   for i:=1 to n do
   begin
      if not odd(pole[i,i]) then poceth:=poceth+1;
      if not odd(pole[i,n+1-i]) then pocetv:=pocetv+1;
   end;

   for i:=1 to n do
   begin
      for j:=1 to n do
         write(pole[i,j]:4);
      writeln;
   end;

   writeln('Pocet sudych cisel na hlavni diagonale: ',poceth);
   writeln('Pocet sudych cisel na vedlejsi diagonale: ',pocetv);

   readln;

end.
program ke stažení