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

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

12.09.2015, 20:03. Показов 3919. Ответов 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
64315 / 47611 / 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
64315 / 47611 / 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
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru