![]() |
|
|
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Как найти два наименьших и два наибольших элемента из десяти данных элементов.
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 2 Всего: 68 |
определяем 4-е переменных, при проходе заносим в них первые 4-е элемента, дальше проверям на большее/меньшее и переоопределям при надобности......
Это сообщение отредактировал(а) ~FoX~ - 7.7.2005, 14:02 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Отсортировать по величине, взять 2 первых и 2 последних...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ну да! Методом сортировки, выбора или полного перебора.
-------------------- Всем добра |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Попробовал завести четыре переменных, всё равно че то не робит... А можно пример на паскале |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
можно... в разделе "Центр помощи". PS. А заодно можно зарегистрироваться - это совершенно бесплатно и даже не больно... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Выложи код как бы бы искал одно максимальное/минимальное число в массиве - попробую подталкнуть в нужном напралении
Или сортировку массива -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Вообще то с массивом я знаю как-это просто, нужно без массива и использовать "однопроходной" алгоритм .... Вот код:
Так находится наименьший и наибольший элементы min и max. |
||||
|
|||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Если это можешь - в чем тогда проблема ???
Только паскаль подзабыл и могут быть синтаксические ошибки, например так (но можно конечно и красоту понаводить) uses crt; const count_d=10; var d,i:Integer; array min[0..1]:Integer; //тут не помню точно синтаксис array max[0..1]:Integer; // но 2 массива по 2 числа типа int begin Clrscr; Write('Введите 10 целочисленных элементов:'); Read(d); min[0]:=d; min[1]:= d; max[0]:=d; max[1]:=d; for i:=2 to count_d do begin Read(d); if (d<min[0]) then begin min[1]:=min[0]; min[0]:=d; end; else begin if (d<min[1]) then min[1]:=d; end; if (d>max[0]) then begin max[1]:=max[0]; max[0]:=d; end; else begin if (d>max[1]) then max[1]:=d; end; end; WriteLn('Min:',min[0]); WriteLn('Min:',min[1]); WriteLn('Max:',max[0]); WriteLn('Max:',max[1]); Readkey; end. -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
vadims, на мысль ты меня натолкнул...
Только условия пришлось немного подправить, вот так будет правильно:
Огромное тебе спасибо, что навёл на мысль |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Излишества на мой взгляд -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Guest |
|
||||||||||
|
Unregistered |
А помоему нет, если написать так:
И задать последовательность:1 2 3 ... 7 8 9 10, то min[0] и min[1] будут равны 1. И ещё, если оставить вот так:
И задать последовательность:6 5 1 2 3 1 7 8 9 10, то min[0] и min[1], тоже будут равны 1. Поэтому:
Короче говоря проверил на все виды последовательностей, и попытался предусмотреть любую из них. |
||||||||||
|
|||||||||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
вообще коли integer, то начать бы с
и потом только считывание и сравнение.
не излишество, а ошибка. Если второе введенное число будет самым большим (или самым маленьким) - сбойнет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Согласен что мой выбор первых max/min значений некорректен, но и твой последний вариант как и сказал Akina тоже ошибка - проше всего вернуться к твоему изначальному
хотя возможны и другие варианты -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Alex101 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: 1 Всего: 10 |
Может так?
Проверьте, у меня компилятора нет. Это сообщение отредактировал(а) Alex101 - 8.7.2005, 11:19 -------------------- С уважением, А. Фролов. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |