Да се напише програма, която позволява да се въведат броят на участниците в някакво състезание и постижението на всеки от тях (реално число). После програмата да извежда първите 3 най-добри постижения.
Да се напише програма, която позволява да се въведат броят на участниците в някакво състезание и постижението на всеки от тях (реално число). После програмата да извежда първите 3 най-добри постижения.
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]

за Къде се намира точка
за Вмъкване и изтриване на елемент *
за Позицията на X




за Броят на максималните елементи




за Броят на максималните елементи
за Пари за закуска




за Ученици с дадена оценка




за По-големи от средното| П | В | С | Ч | П | С | Н |
|---|---|---|---|---|---|---|
| « февр. | ||||||
| 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 | |
VAR a:array[1..100] of integer; n,i,j,swap,imin:integer; BEGIN write('Broi uchastnici: '); readln(n); writeln('Rezultati:'); for i:=1 to n do readln(a[i]); for i:=1 to n-1 do begin imin:=i; for j:=i+1 to n do if a[j]<a[imin] then imin:=j; if imin<>i then begin swap:=a[i]; a[i]:=a[imin]; a[imin]:=swap; end; end; writeln; writeln('Rezultat:'); for i:=n downto n-2 do writeln(a[i]); readln; END.Вярно! Ако беше ги сортирал в намаляващ ред, тогава можеше да вземеш първите трима вместо последните трима.
Това е едното решение. Помисли има ли решение, при което не сортираш първо целия масив. Защото сортирането на постиженията на всички участници, особено ако участниците са много, би забавило програмата, а оттам и съобщаването на победителите, за което публиката и всички участници са толкова нетърпеливи :-)