Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 13.02.2018, 01:25   #1
AnnetC
Новичок
 
Регистрация: 13.02.2018
Сообщений: 1
Репутация: 10
По умолчанию Структура: Найти работника с возрастом, попадающим в заданный диапазон

Запись с полями: ФИО работника; возраст; домашний адрес.
Найти работника с минимальным возрастом, попадающим в диапозон 20-30 лет.
Начало программы идет вот так:
Код:

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

Procedure inp(var a:mas;var n:integer);{Процедура ввода} 
var i:integer; 
begin 
readln(n);
for i:=1 to n do 
begin 
readln(f,a[i].FIO); 
readln(f,a[i].Vozr); 
readln(f,a[i].adress);
end; 
end;  
Procedure ext(a:mas;n:integer); {Процедура вывода} 
var i:integer;
begin
for i:=1 to n do
begin
writeln(a[i].FIO);
writeln(a[i].Vozr);
writeln(a[i].adress);
end;
end;
Begin 
assign(f,'file.txt'); 
reset(f); 
inp(m,e1);
ext(m,e1);
end.

Самый главный вопрос как "Найти работника с минимальным возрастом, попадающим в диапозон 20-30 лет."
file.txt
AnnetC вне форума   Ответить с цитированием
Старый 13.02.2018, 09:16   #2
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,649
Репутация: 2371

icq: 100500
skype: kick-ass
По умолчанию

Массив тут нах не нужен. Всё делается в одном цикле чтения записей из файла.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 13.02.2018, 09:19   #3
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,249
Репутация: 2054

icq: 216409213
По умолчанию

Абсолютно также, как и в реальной жизни. Программирование это не какая-то магия. Ищем первого, у которого возвраст попадает в нужный диапазон. Берем его за текущий минимум. Далее проверяем остальных, если попадает в критерии и менбше текущего минимума, то запоминаем и т.д.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 13.02.2018, 10:35   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,321
Репутация: 5258
По умолчанию

Цитата:
Сообщение от AnnetC Посмотреть сообщение
Код:

var
f: text

простите, а почему файл текстовый, а не типизированный файл? в подобных задачах с типизированным работать - самое милое дело.


Цитата:
Сообщение от AnnetC Посмотреть сообщение
Код:

readln(n);
for i:=1 to n do 
begin 
readln(f,a[i].FIO);

Это никуда вообще не годится! Откуда пользователь может знать, сколько записей в вашем текстовом файле?! А если он их введёт неверно? Меньше, чем есть, тогда записи в конце файла не будут обработаны вообще. Введёт больше, чем есть, тогда будет ошибка чтения файла (невозможно прочитать из файла, если он закончился).
Это нужно переделывать.

решите эти проблемы.
тогда и найти работника с минимальным возрастом, попадающим в диапазон 20-30 лет, не составит труда.
Тем более, что Вам уже рассказали, как это сделать.
Если что-то непонятно - спрашивайте!
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить нулевое значение числам попадающим в интервал Sovetnik Общие вопросы C/C++ 14 14.04.2016 06:35
Заданный одномерный массив. Найти сумму элементов массива, которые удовлетворяют условию ( Delphi ) Святослав2703 Помощь студентам 5 03.07.2013 16:21
Как проверить, входит ли ячейка в заданный именованный диапазон? olga_arb Microsoft Office Excel 1 06.02.2013 10:08
Составить условие проверки вхождения числа в заданный диапазон (Delphi) Hylim1991 Помощь студентам 1 22.03.2012 08:16
переход на заданный сайт или как вставить в заданное место заданный текст Biker89 Общие вопросы Delphi 23 29.05.2011 01:59


02:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru