1

Тема: Пошук масива через процедуру

Буду вдячний, якщо допоможете написати код для пошуку масива в процедурі через case of. Пошук 
через kodtov, name, kil.

program zx;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const n=2;
  type
    kodtov=record
    name:string[25];
    odvym:string[25];
    tsinod:string[12];
    kil:string[35];
    end;
      mas=array[1..n] of kodtov;
  var
    b:mas;
    posh:string;
  procedure vvid (var a:mas);
    var i:integer;
  begin
    for i:=1 to n do
    begin
      writeln('VvediTb kod tovary: ');
      readln(a[i].name);
      writeln('VvediTb nazvy odynytsi vymiry: ');
      readln(a[i].odvym);
      writeln('VvediTb tsina za odynytsyu vymiry: ');
      readln(a[i].tsinod);
      writeln('VvediTb kiLbkisTb: ');
      readln(a[i].kil);
    end;
  end;
  procedure vyvid (var a:mas);
  var i:Integer;
  begin
    for i:= 1 to n do
    Writeln(a[i].name,' ',a[i].odvym,' ',a[i].tsinod,' ',a[i].kil,' ');
  end;
  procedure poshuk (var a:mas; tsinazaod:string);
  var i:integer;
      l:Boolean;
  begin
    l:=False;
    for i:=1 to n do
    if(tsinazaod=a[i].tsinod) then begin
      Writeln(a[i].name,' ',a[i].odvym,' ',a[i].kil,' ');
    end;
    if (l=False) then Writeln('Eror');
  end;
begin
  vvid(b);
  vyvid(b);
  Writeln('VvediTb tsiny za odynytsyu vymiry : ');
  readln(posh);
  poshuk(b, posh);


Readln;
Readln;
end.

2

Re: Пошук масива через процедуру

Вам треба трохи розкласти в голові, що відбувається. "Пошук масива в процедурі" - це щось не зовсім реальне, а от "процедура пошуку товару в масиві" - вже краще.
Наскільки я розумію, вам треба, щоб була єдина процедура пошуку за різними критеріями з додатковим параметром, який би і визначав, який саме критерій пошуку задано, і тут і слід використовувати case of. Найпростіше зробити цей параметр числом; по-хорошому було б ввести новий перелічений тип для цього параметру.

Подякували: leofun01, xapreks2