одномерный массив |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
одномерный массив |
шалунья |
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: 0 |
Вот задачка:
Определить среднее значение элементов массива. Найти далее индекс элемента массива, наиболее близкого к среднему значению. Я знаю, как найти среднее значение элементов массива, а вот как найти индекс элемента массива, наиболее близкого к среднему значению я не знаю. Кому не сложно подскажите бедной студентке, как это сделать!!!! Заранее СПАСИБО!!!! |
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 Пол: Мужской Репутация: 3 |
Один из возможных вариантов.
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 меня обошел! Сообщение отредактировано: Бродяжник - |
шалунья |
Сообщение
#4
|
Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: 0 |
:D СПАСИБО!!!! :thanks:
|
Текстовая версия | 11.01.2025 21:43 |