Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для Dassis
0 / 0 / 1
Регистрация: 11.09.2015
Сообщений: 83

Найти самого старого мужчину и самую молодую женщину в списке группы

12.09.2015, 20:03. Показов 4182. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, дали условие

"Дан список группы в 10 человек в виде ФАМИЛИЯ ГОД_РОЖД. ПОЛ 15 симв. 4 симв. 1 симв. Иванов 1985 М Петрова 1983 Ж …………………… Найти самого старого мужчину и самую молодую женщину и вывести соответствующие строки."

по нему нужно написать программу, примерный код я написал но очень плохо владею языком(работаю на этим),

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
program Ex1_v1;
 
var
  f: text;
  mass: array[1..10, 1..22] of char;
  i, j: integer;
  b: char;
 
begin
  assign(f, 'SPISOK.txt');
  reset(f);
  for i := 1 to 10 do
  begin
    for j := 1 to 22 do
    begin
      read(f, mass[i, j]);
    end;
    readln(f);
  end;
  close(f);
  assign(f, 'res.txt');
  rewrite(f);
  for i := 1 to 10 do
  begin
    for j := 1 to 22 do
    begin
      write(f, mass[i, j]);
      write(mass[i, j]);
    end;
    writeln(f); writeln;
  end;
  writeln(f);
  close(f);
  
  
  
  begin{--------------------------------------------------------------->(самый старый мужчина)}
    for 
    i := 1 to 10 do 
    begin
      for j := 1 to 22 do 
      begin
        if mass[1, 17] = 'm' then begin
          b := mass[i, 22];
          if b < mass[i + 1, 22] then b := mass[i + 1, 22] else mass[i, 22] := mass[i + 1, 22]; 
        end;
      end;
    end;
    writeln();
  end;
  
  begin{-------------------------------------------------------------->(самая молодая женщина)}
    for 
    i := 1 to 10 do 
    begin
      for j := 1 to 22 do 
      begin
        if mass[1, 17] = 'g' then begin
          b := mass[i, 22];
          if b > mass[i + 1, 22] then b := mass[i + 1, 22] else mass[i, 22] := mass[i + 1, 22]; 
        end;
      end;
    end;
    writeln();
  end;
  
  
  close(f);
end.
Что и как быть дальше не знаю...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2015, 20:03
Ответы с готовыми решениями:

С++ Программа на Одномерный массив (определить самого высокого мужчину и женщину)
Дано 9 имен. Массивы пол(муж, жен) и рост(150-200). С помощью массивов пол и рост определить самого высокого мужчину и женщину, а также...

Найти самого старшего мужчину в группе
Помогите решить лабу. type строка=array of char; дата=record число:1..31; месяц:1..12; ...

Найти самого старшего мужчину в группе
Помогите сделать!!! Используя следующий фрагмент программы, опишите перечисленные ниже процедуры: Type data = record ...

23
Почетный модератор
 Аватар для Puporev
64321 / 47617 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.09.2015, 12:27
Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
const fname='SPISOK.TXT';
      n=10;
      m=22;
type mass=array[1..n] of string[m];
procedure readfile(var f:text;var a:mass);
var i:integer;
    s:string[m];
begin
assign(f,fname);
reset(f);
i:=0;
while not seekeof(f) do
 begin
  inc(i);
  readln(f,a[i]);
 end;
close(f);
end;
procedure minmax(a:mass;var f:text);
var i,mz,gn,min,max:integer;
begin
mz:=0;//есть ли мужчины
gn:=0;//есть ли женщины
min:=0;//мин. год рождения мужчины
max:=3000;//макс. год рождения женщины
for i:=1 to n do
 begin
  if (a[i][m]='M') and(strtoint(copy(a[i],17,4))<max) then
   begin
    max:=strtoint(copy(a[i],17,4));
    mz:=i;
   end;
  if (a[i][m]='G')and(strtoint(copy(a[i],17,4))>min) then
   begin
    min:=strtoint(copy(a[i],17,4));
    gn:=i;
  end;
 end;
assign(f,'res.txt');
rewrite(f);
if mz=0 then writeln(f,'В списке нет мужчин')
else writeln(f,'Самый старый мужчина: ');
writeln(f,a[mz]);
if gn=0 then writeln(f,'В списке нет женщин')
else writeln(f,'Самая молодая женщина:');
write(f,a[gn]);
close(f);
writeln('Результат записан в файл res.txt');
end;
var f: text;
    a: mass;
begin
readfile(f,a);
minmax(a,f);
end.
0
 Аватар для Dassis
0 / 0 / 1
Регистрация: 11.09.2015
Сообщений: 83
26.09.2015, 12:55  [ТС]
в выше написанной программе если mz=0, то есть мужчин нету то происходит ошибка т.к. индекс нулевой writeln(f,a[mz]) , как быть?
0
Почетный модератор
 Аватар для Puporev
64321 / 47617 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.09.2015, 13:04
Pascal
1
if mz=0 then writeln(f,'В списке нет мужчин')
Где здесь используется индекс?

Добавлено через 1 минуту
А если не 0, тогда
Delphi
1
writeln(f,a[mz]);
0
 Аватар для Dassis
0 / 0 / 1
Регистрация: 11.09.2015
Сообщений: 83
12.10.2015, 16:36  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure minmax(var a: mass; var f: text);
var
  i, mz, gn, min, max: integer;
  begin
  for i := 1 to n do
    if (a[i][m] = 'М') and (strtoint(copy(a[i], 17, 4)) < max) then
    begin
      max := strtoint(copy(a[i], 17, 4));
      mz := i;
    end;
    if (a[i][m] = 'Ж') and (strtoint(copy(a[i], 17, 4)) > min) then
    begin
      min := strtoint(copy(a[i], 17, 4));
      gn := i;
    end;
  end;
Добавлено через 49 секунд
программа не читает эту процедуру, не могу понять почему

Добавлено через 15 часов 33 минуты
ну или как сделать аналогичную процедуру из программы выше?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2015, 16:36

Структуры. Найти самого старшего мужчину
Используя записи с полями: дата - с полями число, месяц, год; анкета - с полями фамилия, пол, дата рождения в массиве из 15 элементов типа...

Структура: Найти самую молодую команду среди учасников турнира.
Здравствуйте, помогите пожалуйста решить задачу Есть запись с такой структурой: type Tsportsman = record team:...

Структура содержит информацию о спортивной команде. Найти самую молодую команду
Здравствуйте!Помогите решить задачу. Задание: Информация об участниках спортивных соревнований содержит наименование страны, название...

Найти фамилии владельцев, номера и марки самого старого и самого нового автомобилей
Сведения об автомобиле состоят из его марки, номера, года выпуска и фамилии владельца. Найти а. Фамилии владельцев заданной марки б....

Задачка не может вычислить самую молодую команды
Программа считает средний возраст игроков, но вот с выводом самой молодой команды не получается. Помогите найти в чем ошибка?пожалуйста) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru