Страница 1 из 1

Массив записей. Pascal

Добавлено: 14 апр 2008, 17:56
geniuss
Известны данные о сотрудниках фирмы: фамилия и отношение к во-инской службе (военнообязанный или нет). Напечатать фамилии всех военно-обязанных сотрудников.
задача на тему Записи помогите пожалуйста !!!

Re: Помогите завтра зачет

Добавлено: 14 апр 2008, 19:35
geniuss
или помогите исправить что не правильно в этой задаче
uses crt;
type tab = record
fam:string;
v:boolean;
end;
const n=5;
var tabl:array [1..n] of tab;
fam:string;
x:array[1..n]of byte;
i:byte;
BEGIN
clrscr;
for i:=1 to n do
begin
writeln('Ведите фамилию N',i,':');
readln(fam);
write('военнообязанный(если да введите = 1/если нет введите = 0)');
readln(x);
writeln(' ');
end;
for i:=1 to n do
begin
if x = 0 then tabl.v:=false { военнообязанный }
else tabl.v:= true; { не военнообязанный }
end;
for i:=1 to n do
begin
if tabl =false
then writeln (' fam ' )
end;
end.

пожалуйста помогите!!!

Re: Помогите завтра зачет

Добавлено: 14 апр 2008, 22:47
Serge_Bliznykov
слишком много ошибок... ;-(( но зато видно, что пытался...
направление было правильное.
за это приз - вот код программы:

Код: Выделить всё

uses crt;
type tab = record
  fam:string;
  v:boolean;
end;
const n=5;
var
  tabl :array [1..n] of tab;
  i    :integer;
  Otvet:integer;
begin
  clrscr;

  {заполнение массива с данными о сотрудниках}
  for i:=1 to n do
  begin
    writeln('Введите фамилию N',i,':');
    readln(tabl[i].fam);
    write('военнообязанный(если да введите = 1/если нет введите = 0)');
    readln(Otvet);
    if Otvet=0 then tabl[i].v:=false { не военнообязанный }
    else tabl[i].v:= true; { военнообязанный }
  end;


  {проверка признака и выдача подходящих записей}
  WriteLn;
  WriteLn('Список военнообязанных: ');
  for i:=1 to n do
  begin
   if tabl[i].v=true
       then writeln (tabl[i].Fam)
  end;
end.

Re: Помогите завтра зачет

Добавлено: 15 апр 2008, 10:56
Хыиуду
Ну буквально минимальная оптимизация
if Otvet=0 then tabl.v:=false { не военнообязанный }
else tabl.v:= true; { военнообязанный }
заменяется на
tavl.v:=otvet=0
и
if tabl.v=true заменяется на if tabl.v

Re: Помогите завтра зачет

Добавлено: 15 апр 2008, 14:41
geniuss
Большое спасибо!!!