![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.01.2009
Сообщений: 8
|
![]()
Сабж на Паскаль/дульфи...
Да если что, то и C++, хотя его я вообще не знаю... желательно тогда с комментами... Важен сам алгоритм мобщем. Задача: Имею числовой отсортированный массив. Т.е. массив из n-го кол-ва числовых элементов, которые упорядочены по значению... по возрастанию....(если эта информация вообще нужна) Пользователь вводит число... И надо вывести или это число, если оно имеется(ну это понятно) или 2 ближайших числа сверху и снизу... Т.е. массив: 1 2 3 9 12 Пользователь вводит "4"... Ответ: "3" и "9".... Вот собственно задача. До пятницы горит! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.11.2008
Сообщений: 100
|
![]()
Используйте бинарный поиск. Т.е. берете серединный элемент отсортированного массива и определяете, к какой половине элементов массива ближе искомый. К левой или правой?. К примеру, если ближе к левой, то берете для рассмотрения только левую часть элементов массива. И таким образом доберетесь до искомого элемента (элементов). Если краткое изложение непонятно, почитайте литературу.
|
![]() |
![]() |
![]() |
#3 | |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
![]() Цитата:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var i,n,e,e1,e2:integer; s:array[1..1000] of integer; x,y:integer; begin try writeln('vvedi n'); readln(n); writeln; for I := 1 to n do readln(s[i]); writeln('vvedi element'); readln(e); x:=1; while e>s[x] do x:=x+1; while e<s[n] do n:=n-1; writeln(s[n],' ' ,s[x]); readln; except on E:Exception do Writeln(E.Classname, ': ', E.Message); end; end.
вступлю в команду разработчиков ПО на Delphi
|
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 07.01.2009
Сообщений: 8
|
![]()
maladoy, огромное спасибо!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. | bkmz | Помощь студентам | 11 | 16.04.2008 11:17 |
Найти сумму последних L положительных элементов в массиве A={a[i]}. Assembler | Kasim | Помощь студентам | 2 | 16.12.2007 16:12 |
Как найти проиизведение в одномерном массиве? | kitty | Помощь студентам | 10 | 30.11.2007 20:30 |
В целочисленном массиве найти самое часто повторяющееся число | Алена | Помощь студентам | 2 | 01.11.2007 19:46 |