![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
шалунья |
![]() ![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Вот задачка:
Определить среднее значение элементов массива. Найти далее индекс элемента массива, наиболее близкого к среднему значению. Я знаю, как найти среднее значение элементов массива, а вот как найти индекс элемента массива, наиболее близкого к среднему значению я не знаю. Кому не сложно подскажите бедной студентке, как это сделать!!!! Заранее СПАСИБО!!!! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
шалунья
Вот пример решения (просто замени константы на переменные и организуй ввод массива): Код const n = 10; a: array[1 .. n] of integer = (2, 5, 3, 8, 6, 9, 1, 13, 10, 22); var aver, min: real; i, index: integer; begin aver := 0; for i := 1 to 10 do aver := aver + a[i]; aver := aver / n; min := maxInt; for i := 1 to n do if min > abs(a[i] - aver) then begin min := abs(a[i] - aver); index := i end; writeln('average = ', aver:10:5); writeln('closest = a[', index, '] = ', a[index]:4); end. |
Бродяжник |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Один из возможных вариантов.
m1 - наш массив, sred - среднее значение, bliz - индекс ближайшего. (Дремучая лень помешала мне написать всю прогу целиком и отладить ее. Но по идее должно работать) Код program x; const n=10; var m1: array[1..n] of real; sred,delta_best: real; i,bliz: integer; begin {Здесь вводим массив и просчитываем среднее значение} {...} {А теперь будем искать ближайший элемент} bliz := 1; delta_best := abs(sred-m1[1]); for i:=2 to n do begin delta := abs(sred-m1[i]); if delta < delta_best then begin delta_best := delta; bliz := i; end; end; {...что-то там еще} {...} end. P.S. Volvo меня обошел! Сообщение отредактировано: Бродяжник - 6.12.2004 14:57 |
шалунья |
![]()
Сообщение
#4
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
:D СПАСИБО!!!! :thanks:
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 13:50 |