![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Вадим |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите написать программу.
Разработать рекурсивную процедуру двоичного поиска элемента массива, равного данному числу. Сообщение отредактировано: Вадим - 10.10.2004 21:10 |
![]() ![]() |
fms |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
двоичный т.е. бинарный?
![]() со строками.. ![]() Код PROGRAM prog; FUNCTION b_search(s: STRING; a,b: INTEGER; c: CHAR): INTEGER; VAR i: INTEGER; BEGIN IF a>b THEN b_search:=0 ELSE BEGIN i:=(a+b) DIV 2; IF s[i]=c THEN b_search:=i ELSE IF s[i]<c THEN b_search:=b_search(s,i+1,b,c) ELSE b_search:=b_search(s,a,i-1,c); END END; VAR s:STRING; i:INTEGER; c:CHAR; BEGIN WRITE('Введите строку:'); READLN(s); b:= ORD(s[0]); {Длина строки} i:=0; {Это проверка упорядоченности символов в строке} REPEAT i:=i+1; UNTIL (a[i+1]<a[i]) or (i= b-1); {Конец проверки строки} IF a[i+1]<a[i] THEN WRITELN('Строка введена неправильно') ELSE BEGIN WRITE('Введите искомый символ:'); READLN( c ); i:=b_search(s,1,ORD(s[0]),c); IF i=0 THEN WRITELN('Искомого символа в строке нет') ELSE WRITELN('Искомый символ имеет номер ', i); END; END. -------------------- непонимающая..
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:16 |