Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 17:37   #1
for_tuna
Пользователь
 
Регистрация: 06.12.2009
Сообщений: 23
По умолчанию массивы записей

Соревнования по прыжкам с трамплина. Список содержит фамилии, и результаты по трем попыткам. Вычислить суммарный результат и самый дальний прыжок.
for_tuna вне форума Ответить с цитированием
Старый 21.04.2010, 18:21   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Вот так можно описать тип и массив участников соревнований.
Код:
Type
  Person=record
               family:string[20];
               P1,P2,P3:real
             end;
Const
   SpMax=20;
Var
  SportsMan:array[0..SpMax] of Person;
P1,P2,P3 - поля записи, содержащие результаты трех попыток...
Теперь можешь оперировать этими полями записей массива как заблагорассудится...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 21.04.2010, 18:23   #3
for_tuna
Пользователь
 
Регистрация: 06.12.2009
Сообщений: 23
По умолчанию

как раз таки эту часть я и сделала...а как дальше посчитать эти результатом чтото не доходит(
for_tuna вне форума Ответить с цитированием
Старый 21.04.2010, 18:28   #4
Филантроп
Форумчанин
 
Аватар для Филантроп
 
Регистрация: 12.04.2010
Сообщений: 134
По умолчанию

Цитата:
Вычислить суммарный результат
добавить еще поле Sum в запись и складывать туда p1+p2+p3
Цитата:
самый дальний прыжок.
находишь самый дальний прыжок из всех p1,p2,p3
и запоминаешь индекс спортсмена выводишь его данные
кому нужна помощь! жду в аське и скайпе!
Филантроп вне форума Ответить с цитированием
Старый 21.04.2010, 18:35   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Сумму можно вычислять и отдельной переменной...
Код:
for i:=0 to SpMax do
  begin
    with SportsMan[i] do
      SumRes:=P1+P2+P3;
      writeln(family,'Суммарный результат = ',SumRes:5:2)
  end
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 21.04.2010, 20:23   #6
Z1daN
 
Регистрация: 19.04.2010
Сообщений: 8
По умолчанию ___

Задайте массив из 10 элементов с помощью датчика случайных чисел. Поменяйте местами наибольший положительный элемент с наибольшим отрицательным. Выведете на экран исходный и полученный массивы.
Z1daN вне форума Ответить с цитированием
Старый 23.04.2010, 00:19   #7
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Цитата:
Сообщение от for_tuna Посмотреть сообщение
Соревнования по прыжкам с трамплина. Список содержит фамилии, и результаты по трем попыткам. Вычислить суммарный результат и самый дальний прыжок.
Самый дальний это понятно, 1 из всех.

А суммарный для каждого или только то, что на прыгали они все вообще ?

Цитата:
Сообщение от Z1daN Посмотреть сообщение
Задайте массив из 10 элементов с помощью датчика случайных чисел. Поменяйте местами наибольший положительный элемент с наибольшим отрицательным. Выведете на экран исходный и полученный массивы.
PHP код:
program use;
uses crt;
var 
a:array [1..10of integer;
    
t,km,kn,i,max,min:integer;
begin
 clrscr
randomize;
 for 
i:=1 to 10 do begin a[i]:=random(100)-50write(a[i],' '); end;
 
max:=a[1]; min:=a[1];
  for 
i:=2 to 10 do
   
begin
    
if max<a[ithen begin max:=a[i]; km:=iend;
    if 
min>a[ithen begin max:=a[i]; kn:=iend;
   
end;
  
writeln;writeln;
  
writeln('MAX= ',max,' S poziciya ',km,' MIN= ',min,'s poziciya ',kn); writeln;

  
t:=a[kn]; a[kn]:=a[km]; a[km]:=t;
  for 
i:=1 to 10 do
  
write(a[i],' ');

 
readkey
end

Самоё лёгкое.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Старый 24.04.2010, 19:51   #8
for_tuna
Пользователь
 
Регистрация: 06.12.2009
Сообщений: 23
По умолчанию

суммарный результат для каждого спортсмена))
for_tuna вне форума Ответить с цитированием
Старый 24.04.2010, 19:52   #9
for_tuna
Пользователь
 
Регистрация: 06.12.2009
Сообщений: 23
По умолчанию

помогите пожалуйста с этой задачкой))))вобще срочно нужно=))))вы же умные)))))))))
for_tuna вне форума Ответить с цитированием
Старый 24.04.2010, 22:44   #10
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Цитата:
Сообщение от for_tuna Посмотреть сообщение
Соревнования по прыжкам с трамплина. Список содержит фамилии, и результаты по трем попыткам. Вычислить суммарный результат и самый дальний прыжок.

Код:
program xd;
uses crt;
type sport=record
      fio:string[20];
      r1,r2,r3,sum,dal:integer;
     end;
var a:array [1..10] of sport;
    t,n,i,j:integer; st:string;
begin clrscr;
  repeat
   write('Vvedite kol-vo uchastnikov '); readln(n);
  until (n>0) and (n<=10);
 for i:=1 to n do begin
  write('Vvedite FIO '); readln(a[i].fio);
  write('1 result '); readln(a[i].r1);
  write('2 result '); readln(a[i].r2);
  write('3 result '); readln(a[i].r3);
  a[i].sum:=a[i].r1+a[i].r2+a[i].r3; {Сумма длин всех прыжков I спортсмена}
  if a[i].r1>a[i].r2 then a[i].dal:=a[i].r1 else a[i].dal:=a[i].r2;
  if a[i].r3>a[i].dal then a[i].dal:=a[i].r3; {Находит максимально длинный прыжок}
 end; clrscr;
for i:=1 to n do {Просмотр введенных данных}
writeln(a[i].fio,' ',a[i].r1,' ',a[i].r2,' ',a[i].r3,' ',a[i].sum,' ',a[i].dal);

 for i:=1 to n-1 do {Сортировка для выяснения победителя}
 for j:=i+1 to n do
 if a[j].dal>a[i].dal then begin

 t:=a[j].dal; a[j].dal:=a[i].dal; a[i].dal:=t;
 t:=a[j].r1; a[j].r1:=a[i].r1; a[i].r1:=t;{Не надо если надо только имя и дальность прыжка частника}
 t:=a[j].r2; a[j].r2:=a[i].r2; a[i].r2:=t;{Не надо если надо только имя и дальность прыжка частника}
 t:=a[j].r3; a[j].r3:=a[i].r3; a[i].r3:=t;{Не надо если надо только имя и дальность прыжка частника}
 st:=a[j].fio; a[j].fio:=a[i].fio; a[i].fio:=st;
 end;

 writeln;
{ Просмотр отсортированного списка
writeln;
for i:=1 to n do
writeln(a[i].fio,' ',a[i].r1,' ',a[i].r2,' ',a[i].r3,' ',a[i].sum,' ',a[i].dal);}
                           textcolor(yellow); {Выводит сопртсмена с максимальным прыжком} 
writeln(a[1].fio,' On(ona) prignul na ',a[1].dal);


readkey
end.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Массивы записей Mr.Been Фриланс 4 24.05.2009 11:59
Массивы записей Mr.Been Паскаль, Turbo Pascal, PascalABC.NET 0 21.05.2009 21:11
Массивы записей. Паскаль MMARKIN Помощь студентам 2 20.04.2009 19:01
Массивы записей (pascal) tanek Помощь студентам 1 23.03.2009 06:57