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

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

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

> поиск методом половинного деления(рекурсия)
anonim
сообщение 16.05.2006 20:44
Сообщение #1


Гость






ни кто не хочет алгорит поиска делением пополам преобразовать из простого в рекурсивный????буду очень благодарен
Код

program dsfsdf;
uses crt;
type mas=array[1..10] of integer;
var  n,j:integer;a:mas; x:integer;i:integer;
function dixotom(a:mas;x:integer;var i:integer):boolean;
  var l,r,m:integer;
  begin
   l:=1;r:=n;
    repeat
     m:=(l+r) div 2;
     if a[m]<x
      then l:=m+1
      else r:=m-1;
   until (a[m]=x) or (l>r);
   dixotom:=a[m]=x;i:=m;
  end;
  begin   clrscr;
   writeln('введите длину массива');
   readln(n);
    for j:=1 to n do
    read(a[j]);
    writeln('введите элемент x');
    readln(x);

   if dixotom(a,x,i)=true
    then writeln('элемент найден ',i)
    else writeln('не найден');  readkey;
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 23.06.2025 21:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"