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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2011, 21:32   #1
Dean
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 29
По умолчанию Паскаль, записи

здравствуйте, программисты! не могли бы вы помочь доделать одну задачку?
Известен рост каждого из 25 учеников класса. Ни одна пара учеников не имеет одинакового роста. Определить фамилии:
а) самого высокого и самого низкого учеников класса;
б) двух учеников, являющихся самыми высокими после самого высокого в классе.
наработки вот есть, нужно добить:
Код:
Program MyProg1;
uses crt;
type
tablica=record
fio:string[10];
rost:real;
end;
var
i,n:integer;
mas:array[1..25] of tablica;
begin
Writeln('Количество учеников в классе');
Readln(n);
for i:=1 to n do
with mas[i] do begin
Write('Введите рост',' ',i,'-го ученика  ');
Readln(rost);
end;
end.
заранее спасибо!
Dean вне форума Ответить с цитированием
Старый 27.03.2011, 10:44   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
Type
  tablica=record
                fio:string[10];
                rost:Integer;
             end;
var
i,n,maxrost,imax,number2,number3,i1,i2:integer;
mas:array[1..25] of tablica;
begin
  Writeln('Количество учеников в классе');
  Readln(n);
  for i:=1 to n do
  with mas[i] do
  begin
    Write('Введите fam',' ',i,'-го ученика  ');
    Readln(Fio);
    Write('Введите в см рост',' ',i,'-го ученика  ');
    Readln(rost);
  end;
  Maxrost:=0;
  Number2:=0;
  Number3:=0;
  For i:=1 to N do With Mas[i] do
  Begin
    If Mas[i].rost > Maxrost then
    Begin
      Maxrost:=Mas[i].rost;
      Imax:=i
    End;
  End;
  For i:=1 to N do with Mas[i] do
  Begin
    If (Mas[i].rost <= Maxrost) and (Mas[i].rost > Number2) and (Mas[i].rost > Number3) and (i <> Imax) then
    Begin
      Number2:=Mas[i].rost;
      i1:=i
    End;
  End;
  For i:=1 to N do With Mas[i] do
  Begin
    If (Mas[i].rost < Maxrost) and (Mas[i].rost <= Number2) and (Mas[i].rost > Number3) and (i <> i1) then
    Begin
      Number3:=Mas[i].rost;
      i2:=i
    End;
  End;
  Writeln('Самый высокий в классе: ',Mas[imax].fio);
  Writeln('На 2-ом месте: ',Mas[i1].fio);
  Writeln('На 3-ем месте: ',Mas[i2].fio);
  Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 28.03.2011, 15:35   #3
Dean
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 29
По умолчанию

огромное спасибо!
Dean вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль(записи) masterlomaster Помощь студентам 8 27.03.2011 12:28
Записи, паскаль Кристинаа Помощь студентам 2 08.12.2010 19:13
паскаль,записи. Ам тя Помощь студентам 5 24.11.2009 11:41
Записи , паскаль paladinn Помощь студентам 3 23.01.2009 19:03