Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Матрица https://www.cyberforum.ru/ turbo-pascal/ thread970600.html
Ввести матрицу,потом вывести ее и отраженную относительно вертикальной черты.Вся матрица должна быть в сетке. Проблема в отраженной матрице,не могу попасть в сетку,а если попадаю,то она...
Считать содержимое файла в двумерный массив Turbo Pascal
Есть файл в котором содержаться координаты 1 0 3 0 3 4 5 4 и т д Левая x правая y. Как мне все это считать в двумерный массив ?
Turbo Pascal Написать программу с рядом Тейлора
Составить и отладить программу вычисления значения функции с помощью бесконечного ряда Тейлора с точностью заданного ε по формуле:
Turbo Pascal Построение фигуры Здравствуйте, помогите, пожалуйста, с построение фигуры в турбо паскале. Условие таково: Построить шестиугольник, разделенный на шесть равных разноцветных треугольников. Заранее спасибо! https://www.cyberforum.ru/ turbo-pascal/ thread970580.html
Turbo Pascal Не запускает Турбо Паскаль https://www.cyberforum.ru/ turbo-pascal/ thread970561.html
Ошибка Версия этого файла несовместима с используемой версией Windows. С помощью сведений о системе определите необходимую версию программы (32- или 64-разрядную) и обратитесь к издателю...
Табулирование функций 2 Turbo Pascal
напише пожалуйста целиком
Turbo Pascal Найти корень из суммы этих чисел, если они оба положительные,сумму квадратов, если отрицательны и разность в остальных случиях
Даны два числа.Найти корень из суммы этих чисел, если они оба положительные,сумму квадратов, если отрицательны и разность в остальных случиях
Turbo Pascal Табулирование функции 1.написать программу на ТурбоПаскале для функций у=√х+1,7-0,5 , функция под общим корнем , изменяющееся под 0,1 шагом между аргументом х одна тема - одна задача, темы называем информативно, читаем... https://www.cyberforum.ru/ turbo-pascal/ thread970422.html
Turbo Pascal Если числа не равны,то заменив каждое из них одним и тем же числом, равным большему из исходных,а если равны то заменив числа нулями. https://www.cyberforum.ru/ turbo-pascal/ thread970388.html
Даны целые числа ш,и: Если числа не равны,то заменив каждое из них одним и тем же числом, равным большему из исходны,а если равны то заменив числа нулями.
Turbo Pascal вычисление числа простых делителей составить программу вычисления числа простых делителей натурального числа N,не являющегося в тоже время делителями числа M https://www.cyberforum.ru/ turbo-pascal/ thread970387.html
Модератор
61691 / 46182 / 31861
Регистрация: 18.05.2008
Сообщений: 111,379
07.10.2013, 14:36 0

Обработать данные результатов соревнований по бегу

07.10.2013, 14:36. Просмотров 1272. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено mi_muerte как решение

Решение

Без массивов и сортировки
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
uses crt;
{процедуры преобразования русского текста из файла .txt в программу и обратно}
procedure Convert(var s:string);
{ANSI -> ASCII}
var i:integer;
begin
for i:=1 to length(s) do
if ord(s[i]) in [192..239] then s[i]:=chr(ord(s[i])-64)
else if ord(s[i]) in [240..255] then s[i]:=chr(ord(s[i])-16)
else if ord(s[i])=168 then s[i]:=chr(ord(240))
else if ord(s[i])=184 then s[i]:=chr(ord(241));
end;
procedure Convert1(var a:string);{ASCII->ANSI}
var i:integer;
begin
for i:=1 to length(a) do
if ord(a[i]) in [128..175] then a[i]:=chr(ord(a[i])+64)
else if ord(a[i]) in [224..239] then a[i]:=chr(ord(a[i])+16)
else if ord(a[i])=240 then a[i]:=chr(ord(168))
else if ord(a[i])=241 then a[i]:=chr(ord(184));
end;
var f,g:text;
    s,ss,s1,s2,s3,sm1,sm2,sm3:string;
    a,b,c,mn1,mn2,mn3:real;
    cd:integer;
begin
clrscr;
assign(f,'input.txt');
reset(f);
writeln('----------------------------------');
writeln('|      Фамилия       | Результат |');
writeln('----------------------------------');
{прочитаем первые три, определим мин1,мин2,мин3}
readln(f,s);
s1:=copy(s,1,pos(',',s)-1);
Convert(s1);
delete(s,1,pos(',',s));
val(s,a,cd);
gotoXY(1,wherey);write('| ',s1);
gotoXY(22,wherey);write('|',a:7:2);
gotoXY(34,whereY);writeln('|');
readln(f,s);
s2:=copy(s,1,pos(',',s)-1);
Convert(s2);
delete(s,1,pos(',',s));
val(s,b,cd);
gotoXY(1,wherey);write('| ',s2);
gotoXY(22,wherey);write('|',b:7:2);
gotoXY(34,whereY);writeln('|');
readln(f,s);
s3:=copy(s,1,pos(',',s)-1);
Convert(s3);
delete(s,1,pos(',',s));
val(s,c,cd);
{выведем в таблицу}
gotoXY(1,wherey);write('| ',s3);
gotoXY(22,wherey);write('|',c:7:2);
gotoXY(34,whereY);writeln('|');
{найдем 1,2,3 мининимальный}
if a<b then
 begin
  mn1:=a;
  sm1:=s1;
  mn2:=b;
  sm2:=s2
 end
else
 begin
  mn1:=b;
  sm1:=s2;
  mn2:=a;
  sm2:=s1
 end;
if c<mn1 then
 begin
  mn3:=mn2;
  sm3:=sm2;
  mn2:=mn1;
  sm2:=sm1;
  mn1:=c;
  sm1:=s3;
 end
else if c<mn2 then
 begin
  mn3:=mn2;
  sm3:=sm2;
  mn2:=c;
  sm2:=s3
 end
else
 begin
  mn3:=c;
  sm3:=s3
 end;
{прочитаем остальные строки}
while not eof(f) do
 begin
  readln(f,s);
  ss:=copy(s,1,pos(',',s)-1);
  Convert(ss);
  delete(s,1,pos(',',s));
  val(s,c,cd);
  gotoXY(1,wherey);write('| ',ss);
  gotoXY(22,wherey);write('|',c:7:2);
  gotoXY(34,whereY);writeln('|');
  {найдем среди них 1,2,3 мин, если есть меньше первых 3х}
  if c<mn1 then
   begin
    mn3:=mn2;
    sm3:=sm2;
    mn2:=mn1;
    sm2:=sm1;
    mn1:=c;
    sm1:=ss;
   end
  else if c<mn2 then
   begin
    mn3:=mn2;
    sm3:=sm2;
    mn2:=c;
    sm2:=ss
   end
  else
   begin
    mn3:=c;
    sm3:=ss
   end;
 end;
{выведем первые 3 минимальных}
writeln('----------------------------------');
writeln('Призеры:');
writeln('----------------------------------');
writeln('|      Фамилия       | Результат |');
writeln('----------------------------------');
gotoXY(1,wherey);write('| ',sm1);
gotoXY(22,wherey);write('|',mn1:7:2);
gotoXY(34,whereY);writeln('|');
gotoXY(1,wherey);write('| ',sm2);
gotoXY(22,wherey);write('|',mn2:7:2);
gotoXY(34,whereY);writeln('|');
gotoXY(1,wherey);write('| ',sm3);
gotoXY(22,wherey);write('|',mn3:7:2);
gotoXY(34,whereY);writeln('|');
writeln('----------------------------------');
close(f);
assign(f,'output.txt');
rewrite(f);
Convert1(sm1);
Convert1(sm2);
Convert1(sm3);
writeln(f,sm1,',',mn1:0:2);
writeln(f,sm2,',',mn2:0:2);
writeln(f,sm3,',',mn3:0:2);
close(f);
writeln('Призеры записаны в файл output.pas');
readln
end.
Процедуры конвертации есть здесь.
Конвертация строк
Пример исходного файла
Петров,15.25
Сидоров,14.06
Иванов,13.58
Осенин,14.95
Крайнев,13.48
Половцев,15.00
Стариков,14.02
Фофанов,14.00
Андреев,15.23
Лобанов,13.67
Получится
Крайнев,13.48
Иванов,13.58
Лобанов,13.67


Вернуться к обсуждению:
Обработать данные результатов соревнований по бегу
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2013, 14:36
Готовые ответы и решения:

Обработать данные результатов соревнований по бегу
Обработать данные результатов соревнований по бегу Результаты соревнований по бегу ...

Составить итоговый протокол соревнований на основании трех результатов соревнований по прыжкам в длину
Тщетные попытки сделать курсовую работу. На основании трех результатов соревнований по прыжкам в...

Хэш-таблица для хранения результатов соревнований
Доброго времени суток, киберчане. Прошу у вас помощи. Не прошу написать сам текст программы, считаю...

Можете пожалуйста создать базу данных для расчета результатов соревнований
Разработать информационную систему «Старт» для подсчета результатов соревнований. БД состоит из...

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