|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.12.2007, 01:08 | #1 |
Пользователь
Регистрация: 17.10.2007
Сообщений: 15
|
3 максимума из N чисел
Всех с наступающим. Перед новым годом совсем отупел.
Нужно найти сумму 3-наибольших чисел в последовательности из N целых чисел, Потел над кодом, а он не работает, почему? Смысл таков: находим максимум и после начинаем отнимать от него 1,пока не упремся во 2-й максимум и т.д Зарание спасибо!!!! program summax; var a : array [1..250] of integer; i, n, sum : integer; m1, m2, m3 : integer; begin m1:=a[1]; sum:=0; begin write('введите количество чисел '); readln(n); for i:=1 to n do readln(a[i]); end; begin write('исходный массив'); for i:=1 to n do write(a[i]:5); readln; end; begin for i:=1 to n do if m1<a[i] then m1:=a[i]; writeln('max=',m1); {вывод максимума} end; begin {начало определения следующих максимумов} m2:=(m1-1); if m2=a[i] then m2:=m2 else while m2<>a[i] do m2:=(m2-1); end; begin m3:=(m2-1); if m3=a[i] then m3:=m3 else while m3<>a[i] do m3:=(m3-1); end; begin sum:=m1+m2+m3; writeln('сумма=',sum); end; readln; end. |
23.12.2007, 02:34 | #2 | |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Цитата:
1 2 3 1 1 1 1 999999 1 1 2 3 1 2 3 2 1 0 Сколько твоя программа будет отнимать пока с 999999 дойдёт до 3 ? Я думаю много... а точнее 999996 раз прогонится цикл. Вот один из способов нахождения суммы трёх максимумомов.... ЗЫ: Заполнять массив руками, это очень плохо... ибо долго Я пользую рандом. Код:
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... Последний раз редактировалось Карась; 23.12.2007 в 02:45. |
|
23.12.2007, 09:08 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Можно отсортировать массив по убыванию и вывести три первых елемента. Примерно так.
Код:
Последний раз редактировалось puporev; 23.12.2007 в 09:15. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в нахождении максимума | yulia | SQL, базы данных | 7 | 26.07.2008 23:54 |
выделение жирным шрифтом минимума и максимума из диапазона | Bazzer | Microsoft Office Excel | 11 | 28.06.2008 18:50 |
Нахождение минимума и максимума в трехмерном массиве | 1234 | Помощь студентам | 11 | 26.05.2008 16:23 |
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных | Белка | Помощь студентам | 3 | 27.10.2007 11:53 |
Форматирование чисел | Gorin | Общие вопросы Delphi | 11 | 26.09.2007 10:30 |