![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
maksimla |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
Задание
Предположим, имеем первичных цифр массив. Напишите функцию, реализующую алгоритм двоичного поиска в таком массиве. Результаты функции - элемент массива, который равен функции аргументу, номер или 0. я так непонел результаты какие надо вывести пример можете написать -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
Ozzя |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание коряво написано.
Я понял так, что нужно вывести элемент массива и его номер в случае успеха поиска и 0, если поиск потерпел неудачу (нет такого элемента в массиве). |
maksimla |
![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
чтото неищит у меня цыфров
Код program Bevarde2; const count =10; m:array [1..count] of byte=(10,9,8,7,6,5,4,3,2,1); var n,i,first,last:integer; a,low, high, mid:integer; found:boolean; begin WriteLn('massiv uporedocennij'); for i:= 1 to count do write(m[i]:3,' '); writeln; writeln; write('vvedite cislo kotoroe icete'); readln(a); low:=1; high:=count; found:=false; while (low<=high) and (not found) do begin i:=(low+high) div 2; if a<m[i] then high:=i-1 else if a>m[i] then low:=i+1 else found:=true; end; if found then writeln('naiden') else writeln('nenaiden'); Readln; end. Добавлено через 2 мин. вот эту нашол но чегото у меня неищит Код function BSearch (item: DataArray; count:integer; key:DataItem):integer; var low, high, mid: integer; found:boolean; begin low:=1; high:=count; found:=false; { не найден } while (low<=high) and (not found) do begin mid:=(low+high) div 2; if key<item[mid] then high:=mid-1 else if key>item[mid] then low:=mid+1 else found:=true; { найден } end; if found then BSearch:=mid else BSearch:=0; { не найден } end; { конец поиска } -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
вот эту нашол но чегото у меня неищит Когда же ты научишься точнее формулировать проблему? Это же в первую очередь тебе самому лучше..Приведи ВСЮ программу и опиши, что именно работает неправильно. "Не ищет" можно понимать тысячью разных способов. В том числе, и что ты ее не запускал, например.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
maksimla |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
вот массив есть в программе у меня я ввожу в поиск цифру которая есть в массиве а выводит что нету ее в массиве
-------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
вот массив есть в программе у меня я ввожу в поиск цифру которая есть в массиве а выводит что нету ее в массиве Еще раз прошу: приведи полный текст программы.-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
maksimla |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
перегрелся я уже вот программка все работает сечас надо както поиск в функцию перевести
program Bevarde2; непонел этого как это в незу что выводить надо Результаты функции - элемент массива, который равен функции аргументу, номер или 0. -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
перегрелся я уже вот программка все работает сечас надо както поиск в функцию перевести Явно перегрелся ![]() непонел этого как это в незу что выводить надо Тебе же Ozzя сказал: функция должна давать номер найденного элемента. Кстати, в той функции все было правильно..Результаты функции - элемент массива, который равен функции аргументу, номер или 0. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
maksimla |
![]()
Сообщение
#9
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 324 Пол: Мужской Реальное имя: maksim Репутация: ![]() ![]() ![]() |
а теперь процедуру сказали сделать я сделал но одна ошибка есть. Ошибку не нашел но добавил единицу и все в порядке можете сказать что не так я сделал?
это двоичный поиск program rasti; числа записаны в файл в возвращающем порядке и если в поиск вводишь самое последнее число то оно не находится при в процедуре i2:=max а если плюс один то все в порядке странно можете объяснить что не так я сделал. -------------------- Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
|
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 15:03 |