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

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

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

> массивы
Sir-j
сообщение 8.11.2005 9:43
Сообщение #1


Новичок
*

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

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


как решить задачу, выгледит в общем?
Дано вещественное число R и массив размера N. Найти элемент массива, который наиболее1|наименее2 близок к данному числу.
в смысле близок к данному числу!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов(1 - 12)
volvo
сообщение 8.11.2005 9:46
Сообщение #2


Гость






To: Sir-j
"Наиболее близок к данному числу" это значит, что модуль разности между элементом массива и данным числом МИНИМАЛЕН... Для "наименее близок", естественно, наоборот - модуль разности МАКСИМАЛЕН.
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 9:51
Сообщение #3


Новичок
*

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

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


вводишь R и вводишь массив размера N т.е. прграмма смотрит наибольшее число и наименьшее и выводит к нему близкое сравнивая только их!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.11.2005 9:56
Сообщение #4


Гость






Sir-j, ты условие ВНИМАТЕЛЬНО прочти !!!
Цитата
Дано вещественное число R и массив размера N.

Ввел массив, и идешь по нему, вычисляя для КАЖДОГО элемента модуль разности. То число, у которого модуль - максимальный, будет "наименее близким"...

Сразу говорю, код писать не буду. Начинай сам думать...

P.S.
Цитата
прграмма смотрит наибольшее число и наименьшее и выводит к нему близкое сравнивая только их!
Это ты сам придумал? Или это как-то следует из условия. Если следует, то докажи. Если придумал сам, то больше НИЧЕГО не придумывай, у тебя есть ясное и четкое задание !!! mad.gif
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 13:03
Сообщение #5


Новичок
*

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

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


Мне не понятно! От кудо надо найти элемент массива!
Volvo обьясни а????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.11.2005 13:16
Сообщение #6


Гость






Цитата
От кудо надо найти элемент массива!

blink.gif mega_chok.gif Как откуда? Его ввести надо !!! Кстати, можно вообще без массива обойтись... Вводить очередное число, и его проверять на наиболее/наименее близкое к заданному R

Кстати, чего поиском не пользуешься? Есть же решения:
одномерный массив (нужно чуть-чуть подправить)...
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 14:14
Сообщение #7


Новичок
*

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

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


Да у меня неплохо получается!
я сделал так: из данного массива я выражаю среднее число, так.. среднее=элемент массива!!Так ???
далее а как правильно всего сравнить наиболее1|наименее2 близок к данному числу.Т.е. если находится в таких пределах то наиболее близок, если в других то наименее близок???Правильно я мыслю или нет???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hiv
сообщение 8.11.2005 14:19
Сообщение #8


Профи
****

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

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


тебе нужно найти элемент массива, а не его среднее значение. Сравниваются число R и КАЖДЫЙ элемент массива!


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 14:22
Сообщение #9


Новичок
*

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

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


А теперь я понял! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 14:47
Сообщение #10


Новичок
*

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

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


Volvo, там где ты мне дал ссылку, решал задачу! а для чего
Код

a: array[1 .. n] of integer =
  (2, 5, 3, 8, 6, 9, 1, 13, 10, 22);

Для чего они(цифры), Обьясни хочу разобраться!!

Сообщение отредактировано: Sir-j - 8.11.2005 14:48
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.11.2005 14:56
Сообщение #11


Гость






А для того, чтобы при тестировании НЕ набирать вручную (все-таки, код тестируется, причем не один раз, перед выкладыванием на форум)... Кстати, я там написал:
Цитата
(просто замени константы на переменные и организуй ввод массива)
 К началу страницы 
+ Ответить 
Sir-j
сообщение 8.11.2005 14:59
Сообщение #12


Новичок
*

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

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


как примерно сравнить с этой R массив? unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.11.2005 15:10
Сообщение #13


Гость






Все, тема закрыта (совершенное нежелание автора темы думать самостоятельно) mad.gif

Найди на досуге, сколько отличий есть от кода, на который я давал ссылку.
const
n = 10;

{ Это - твой массив }
a: array[1 .. n] of integer =
(2, 5, 3, 8, 6, 9, 1, 13, 10, 22);

var
r, min: real;
i, index: integer;

begin
r := 9.3;
min := maxInt;
for i := 1 to n do
if min > abs(a[i] - r) then
begin
min := abs(a[i] - r); index := i
end;

writeln('closest = a[', index, '] = ', a[index]:4);
end.


Наименее близкое число найдешь сам... Все.
 К началу страницы 
+ Ответить 

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

 



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