IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Структура. Подправить программу
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Код

Type
  rec=record
   FIO:string[30];
   Vozr:integer;
   adress:string[30];
  end;
mas=array[1..10] of rec;

Var
f:text;
e1,j,Min_age,k:integer;
m:mas;

Procedure inp(var a:mas);
var i:integer;
begin
  readln(f,a[i].FIO);
  readln(f,a[i].Vozr);
  readln(f,a[i].adress);
end;
Procedure output(var a:mas);
var i:integer;
begin
  Inc(i);
  writeln(f,a[i].FIO);
  writeln(f,a[i].Vozr);
  writeln(f,a[i].adress);
end;
procedure find (var a:mas);
var i:integer;
begin
Min_age:=100;
for i:=j to e1 do
  With m[j] do
   if (Vozr<Min_age) and (Vozr>=20) and (Vozr<=30) then
    begin
     k:=j;
     Min_Age:=Vozr;
    end;
    end;
Begin
assign(f,'file.txt');
reset(f);
close(f);
inp(m,e1);
output(m,e1);
find(m,e1);

Writeln('Результат:');
Writeln(m[k].FIO);
Writeln(m[k].Vozr);
Writeln(m[k].adress);
Readln
End.

Нужно поправить процедуры и сделать из глобальных переменных - локальные.
p.s из списка должен выводиться работник с мин.возрастом, который попадает в диапазон 20-30 лет.Прикрепленный файл  file.txt ( 498 байт ) Кол-во скачиваний: 540
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Ваша программа даже не компилируется.
Код
tak.pas(20,17) Warning: Local variable "i" does not seem to be initialized
tak.pas(29,10) Warning: Local variable "i" does not seem to be initialized
tak.pas(53,3) Error: Wrong number of parameters specified for call to "inp"
tak.pas(54,3) Error: Wrong number of parameters specified for call to "output"
tak.pas(55,3) Error: Wrong number of parameters specified for call to "find"
tak.pas(58,11) Warning: Variable "m" does not seem to be initialized
tak.pas(63) Fatal: There were 3 errors compiling module, stopping
Fatal: Compilation aborted
Так что исправлять нечего.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(Федосеев Павел @ 4.03.2018 15:20) *

Ваша программа даже не компилируется.
Код
tak.pas(20,17) Warning: Local variable "i" does not seem to be initialized
tak.pas(29,10) Warning: Local variable "i" does not seem to be initialized
tak.pas(53,3) Error: Wrong number of parameters specified for call to "inp"
tak.pas(54,3) Error: Wrong number of parameters specified for call to "output"
tak.pas(55,3) Error: Wrong number of parameters specified for call to "find"
tak.pas(58,11) Warning: Variable "m" does not seem to be initialized
tak.pas(63) Fatal: There were 3 errors compiling module, stopping
Fatal: Compilation aborted
Так что исправлять нечего.

Вот:
Код
Type
  rec=record
   FIO:string[30];
   Vozr:integer;
   adress:string[30];
  end;
mas=array[1..10] of rec;

Var
f:text;
e1,j,Min_age,k:integer;
m:mas;

Procedure inp(var a:mas;var n:integer);{Процедура ввода}
var i:integer;
begin
i:=0;
Repeat
  Inc(i);
  readln(f,a[i].FIO);
  readln(f,a[i].Vozr);
  readln(f,a[i].adress);
Until EoF(f);
n:=i;
end;

Begin
assign(f,'file.txt');
reset(f);
inp(m,e1);
close(f);
Min_age:=100;
for j:=1 to e1 do
  With m[j] do
   if (Vozr<Min_age) and (Vozr>=20) and (Vozr<=30) then
    begin
     k:=j;
     Min_Age:=Vozr;
    end;
Writeln('Result:');
Writeln(m[k].FIO);
Writeln(m[k].Vozr);
Writeln(m[k].adress);
Readln
End.

Нужно тут как писалось выше, сделать локальные переменные вместо глобальных и сделать Входную процедуру, Процедуру выхода и поиска(самого элемента из списка). Где выше программа которая не компилируется, это я как пример показал, как должна выглядеть программа, думал ее можно как-то исправить., как-тот так. За ранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 22:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name