|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.06.2009, 08:39 | #1 |
Регистрация: 24.06.2009
Сообщений: 3
|
Работа с записями
Здравствуйте!
Задача с записями на Паскале. Известны данные о 4 сотрудниках: фамилия, возраст и отношение к воинской службе (военнообязанный или нет). Определить фамилии самых старших по возрасту людей среди военнообязанных, и старших по возрасту среди невоеннообязанных (считать, что такие есть). Вот мой код программы: Код работает, но проблема- не в том направлении. Результат выводит- первого введенного человека среди военнослужащих, и первого введенного среди невоеннослужащих. Что делать? Возможно, нужно использовать индексное заполнение, но как с этим работать, я не знаю.. помогите пожалуйста, найти ошибки! uses crt; const n=4; type sotr=record {тип-запись с полями по условию} fam:string[50]; {!!!!!!!!} vozrast:integer; voj: char; end; var voj:sotr; st:array[1..n] of sotr; mx1, mx2: byte; i,imx: byte; begin clrscr; writeln('Введите данные о сотрудниках:'); for i:=1 to n do begin writeln('Сотрудник ',i); write('Фамилия: ');readln(st[i].fam); write('Возраст: ');readln(st[i].vozrast); repeat write('Отношение к воинской службе (В, н): '); readln(st[i].voj); until st[i].voj in ['В','н']; end; {_____________________} mx1:=0; mx2:=0; imx:=0; for i:=1 to n do begin if (st[i].vozrast>=mx1)and(st[i].voj='В') then begin mx1:=st[i].vozrast; imx:=i; for i:=1 to n do if (st[i].vozrast>=mx2)and(st[i].voj='н') then begin mx2:=st[i].vozrast; imx:=i; end; clrscr; writeln('Список сотрудников:'); writeln('----------------------------'); writeln('| Фамилия | Возраст | Отношение к воинской службе |'); writeln('----------------------------'); writeln; end; gotoXY(1,whereY); write('| ',st[i].fam); gotoXY(13,whereY); write('| ',st[i].vozrast); gotoXY(24,whereY); write('| ',st[i].voj); gotoXY(28,whereY); write('|'); writeln; end; mx1:=0; mx2:=0; imx:=0; for i:=1 to n do begin if (st[i].vozrast>=mx1)and(st[i].voj='В') then begin mx1:=st[i].vozrast; imx:=i; write('Самые старшие по возрасту среди Военнообязанных:',st[imx].vozrast); writeln; end; for i:=1 to n do if (st[i].vozrast>=mx2)and(st[i].voj='н') then begin mx2:=st[i].vozrast; imx:=i;{его индекс в массиве} write('Самые старшие по возрасту среди невоеннообязанных:',st[imx].vozrast); writeln; writeln; readln end; end; end.
Все любят прозрачность, но больше всего боятся, когда их видят насквозь.
|
24.06.2009, 08:48 | #2 |
Любопытная Вредина
Участник клуба
Регистрация: 19.06.2009
Сообщений: 1,285
|
Код:
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 24.06.2009 в 09:09. |
24.06.2009, 09:02 | #3 | |
Регистрация: 24.06.2009
Сообщений: 3
|
Спасибо!
Цитата:
i,imx, imx1: byte; ... и imx1:=0; А за помощь спасибо огромное!
Все любят прозрачность, но больше всего боятся, когда их видят насквозь.
|
|
24.06.2009, 09:03 | #4 |
Регистрация: 24.06.2009
Сообщений: 3
|
И уже успели отредактировать..
Все любят прозрачность, но больше всего боятся, когда их видят насквозь.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами и записями. Помощь с итоговой | Refenement | Помощь студентам | 13 | 19.03.2009 08:42 |
Работа с записями (pascal) | Siroga35 | Помощь студентам | 2 | 17.03.2009 18:58 |
Паскаль, работа с записями | Veselyn | Помощь студентам | 11 | 08.03.2009 10:49 |
Работа с записями, паскаль | Дядька | Помощь студентам | 5 | 13.02.2009 18:44 |
работа с записями | Mango | Помощь студентам | 2 | 12.10.2008 23:54 |