Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 11
1

Среди результатов соревнований по лыжным гонкам, вводимых пользователем, вычислить три лучших результата

27.10.2012, 18:19. Просмотров 1115. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста:
Среди результатов соревнований по лыжным гонкам, вводимых пользователем, вычислить три лучших результата.
Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2012, 18:19
Ответы с готовыми решениями:

Известны результаты каждого из участников соревнований по лыжным гонкам
Известны результаты каждого из участников соревнований по лыжным гонкам (время, затраченное на...

Соревнования по лыжным гонкам
Известны результаты каждого из участников соревнований по лыжным гонкам (время, затраченное на...

Получение общего списка по лыжным гонкам согласно результатам
Лыжные гонки проводятся двумя группами по 10 человек. Результаты соревнований показаны списком...

Три лучших результата
В этом задании необходимо написать программу, которая определяет три лучших результата. Программа...

2
Модератор
61725 / 46203 / 31874
Регистрация: 18.05.2008
Сообщений: 111,473
28.10.2012, 14:03 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно решить с сортировкой по возрастанию и взять 3 первых результата, а можно и без сортировки.
Можно и вообще без массива.
Решено с массивом без сортировки.
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
uses crt;
const nmax=50;
var a:array[1..nmax] of real;
    n,i,i1,i2,i3:integer;
    m1,m2,m3:real;
begin
clrscr;
randomize;
repeat
write('Количество лыников от 3 до ',nmax,' n=');
readln(n);
until n in [3..nmax];
writeln('Общие результаты:');
for i:=1 to n do
 begin
  a[i]:=30+6*random;
  write(a[i]:8:2);
 end;
writeln;
m1:=a[1];
m2:=a[1];
m3:=a[1];
i1:=1;
i2:=1;
i3:=1;
for i:=1 to n do
 begin
  if a[i]<m1 then
   begin
    m3:=m2;
    m2:=m1;
    m1:=a[i];
    i3:=i2;
    i2:=i1;
    i1:=i;
   end
  else if a[i]<m2 then
   begin
    m3:=m2;
    m2:=a[i];
    i3:=i2;
    i2:=i;
   end
  else if a[i]<m3 then
   begin
    m3:=a[i];
    i3:=i;
   end;
 end;
writeln;
writeln('Лучшие результаты:');
writeln(i1:2,m1:6:2);
writeln(i2:2,m2:6:2);
writeln(i3:2,m3:6:2);
readln
end.
1
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 11
28.10.2012, 14:07  [ТС] 3
Спасибо большое)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2012, 14:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти три лучших результата по времени
select ID_race, Competition, Sportsman, from Таблица a where exists(select * from Таблица...

Найти три лучших результата по времени
Как в таблице соревнование(ID,Sportsmen,time) найти 3 лучших результата по времени ??? Через...

Вывести в новый файл информацию о студентах, показавших три лучших результата в забеге
Добрый день. Подскажите есть ли в C# функция определения максимального значения? Есть база...

Расставить три вводимых пользователем числа по возрастанию
Расставить три вводимых пользователем числа по возрастанию.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.