IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на сортировку массива.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Здравствуйте!Подскажите,пожалуйста, как решить задачу: реализовать процедуру, организующую поиск максимального значения в массиве целых чисел из 15 элементов на основе быстрого рекурсивного алгоритма.Без рекурсии знаю как,а как с рекурсией ее решить нет. Буду очень благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Без рекурсии знаю как,а как с рекурсией ее решить нет
Вот и покажи, как ты делаешь это без рекурсии...

Цитата
на основе быстрого рекурсивного алгоритма
Рекурсия по определению медленнее итерации, так что быстрым как-раз будет итеративный алгоритм...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 19.06.2008 16:04) *

Вот и покажи, как ты делаешь это без рекурсии...

Рекурсия по определению медленнее итерации, так что быстрым как-раз будет итеративный алгоритм...

Без рекурсии(просто программа поиска,с выводом номера элемента):

Programm Poisk;
var
m:ARRAY[1..15] of real;
i:integer;
max:real;
t:integer;

BEGIN
FOR i:=1 TO 15 DO
BEGIN
Write('Введите элемент последовательности N',i);
Readln(m[i]);
End;
max:=m[1];
t:=1;
FOR i:=1 TO 15 DO
if m[i]>max then
begin
max:=m[i];
t:=i;
end;
Writeln('max=',max);
Writeln('Номер макс элемента',t);
Readln;
End.

.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






При чем здесь заявленная в названии темы сортировка - не понятно.. И почему ты пользовался Real, если речь идет о целочисленных элементах - тоже...

Рекурсивный поиск макс. значения выглядит, например, вот так:
program Poisk;

function max(n: integer; var a: array of integer): integer;
var
t: integer;
begin
if n > 0 then begin
t := max(n - 1, a); { <--- Рекурсия }
if a[n] > a[t] then max:= n else max:= t
end
else max := 0
end;

const
size = 15;
var
m: array[1 .. size] of integer;
i, index: integer;

begin
for i := 1 to 15 do begin
write('Введите элемент последовательности N', i);
readln(m[i]);
end;

index := max(size - 1, m) + 1;
writeln('Индекс = ', index, ' ; max = ', m[index]);
readln;
end.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Спасибо огромное! (Я написал пример который я могу написать а рекурсию я не знаю.Сортировка в моем понимании отбор нужного элемента в данном случае.Реал потому что это немного другая задача которую я уже выполнил.)

Сообщение отредактировано: Emeks -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 5:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name