Záporné nepárne, záporné párne, kladné párne, kladné nepárne zobrazí v tabuµke

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Category: Homework in Pascal

Author: mersi
Program: Par_nepar.pas
File exe: Par_nepar.exe
flow: Par_nepar.jpg

Program pre načítanie N čísel a ich následne vypísanie v tabuµke. Záporné nepárne, záporné párne, kladné párne, kladné nepárne.
{ PAR_NEPAR.PAS                                 Copyright (c) mersi }
{ Program pre nacitanie N cisel a ich nasledne vypisanie v tabu–ke  }
{ Zaporne neparne, zaporne parne, kladne parne, kladne neparne      }
{                                                                   }
{ Datum:27.11.2007                             http://www.trsek.com }
 
program PAR_NEPAR;
uses    crt;
var     KP:array[1..100] of real;
        KN:array[1..100] of real;
        ZP:array[1..100] of real;
        ZN:array[1..100] of real;
        pocKP:integer;
        pocKN:integer;
        pocZP:integer;
        pocZN:integer;
        N:integer;
        i:integer;
        cislo:integer;
        MAX:integer;
label   1;
begin   ClrScr;
        pocKP:=0;
        pocKN:=0;
        pocZP:=0;
        pocZN:=0;
        Writeln('Program pre naźˇtanie N źˇsel a ich n sledn‚ vypˇsanie v tabu–ke takto:');
        Writeln('(Z porn‚ nep rne, z porn‚ p rne, kladn‚ p rne, kladn‚ nep rne)');
        Writeln('-------------------------------------------------------------------');
        Writeln('Zadaj poźet naźˇtavaněch źˇsel (poźet m“§e byś od 1 do 100):');
        1: Readln(N);
        if (N=0) or (N>100) then
                begin
                Writeln('Zadali ste nespr vny poźet naźˇtavaněch źˇsel !');
                Writeln('Poźet m“§e byś od 1-100');
                Writeln('zadajte źˇslo eçte raz:');
                goto 1;
                end;
        for i:=1 to N do
                begin
                Writeln('Zadaj [',i,'] źˇslo:');
                Readln(cislo);
                if (cislo>0) and (cislo mod 2=0) then
                        begin
                        pocKP:=pocKP+1;
                        KP[pocKP]:=cislo;
                        end;
                if (cislo>0) and (cislo mod 2=1) then
                        begin
                        pocKN:=pocKN+1;
                        KN[pocKN]:=cislo;
                        end;
                if (cislo<0) and (cislo mod 2=0) then
                        begin
                        pocZP:=pocZP+1;
                        ZP[pocZP]:=cislo;
                        end;
                if (cislo<0) and (cislo mod 2=-1) then
                        begin
                        pocZN:=pocZN+1;
                        ZN[pocZN]:=cislo;
                        end;
                end;
 
        if (pocKP>=pocKN) then MAX:=pocKP else MAX:=pocKN;
        if (pocZP>=MAX) then MAX:=pocZP;
        if (pocZN>=MAX) then MAX:=pocZN;
 
 
        Writeln;
        Writeln('Tabu–ka roztriedeněch źˇsel:');
        Writeln;
        Writeln('-------------------------------------------------------------------');
        Writeln('| Z porn‚ nep rne | Z porn‚ p rne | Kladn‚ p rne | Kladn‚ nep rne |');
        Writeln('-------------------------------------------------------------------');
 
        for i:=1 to MAX do
        begin
 
          if (i<=pocZN) then
             Write('|     ',ZN[i]:6:2,'      |')
          else
             Write('|                 |');
 
          if (i<=pocZP) then
             Write('    ',ZP[i]:6:2,'     ')
          else
             Write('               ');
 
          if (i<=pocKP) then
             Write('|   ',KP[i]:6:2,'     |')
          else
             Write('|              |');
 
          if (i<=pocKN) then
             Write('    ',KN[i]:6:2,'      |')
          else
             Write('                |');
 
          writeln;
        end;
        writeln('-------------------------------------------------------------------');
        Readln;
end.