Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Массивы в С++ (замена э-та на сред.арифметич.)


Автор: AntonNeChehov 29.12.2009, 01:17
помогите пожалуйста!
размерность массива - 100
диапазон от -50 до 50

заменить каждый элемент массива на среднее арифметическое его и его соседей!

Автор: NYX 29.12.2009, 02:36
Смарю тут мало желающих smile Можт я попробую помоч smile среднее арифметическое на примере, что эт такое smile я в математике НОЛЬ без дырки smile

Автор: AntonNeChehov 29.12.2009, 02:58
ну короче надо чтоб каждый элемент массива заменялся на ср.арифметическое , т. е допустим число n заменялось на  n+ (n+1)+(n-1)/3. как то так!!! smile 

Автор: comcon1 29.12.2009, 03:04
1. Ты создал на форуме уже 4 сообщения и так и не понял, что для человекомасс, не хотящих учиться, есть центр помощи.

2. Прежде чем программировать, нужно думать остатками серого вещества. Для твоей задачи, в каком порядке ты начнешь считать, такой результат ты и получишь. Поэтому твоя задача имеет столько же решений, сколько перестановок последовательность 1..100. А это, чувачок, знаешь сколько? 100!

Вот смотри:
1 1 1 100 1 - по порядку делаем
1 1 1 100 1
1 1 1 100 1
....
1 1 34 45 23

1 1 1 100 1 - с жопы на перед
1 1 1 100 55.5
1 1 1 52.1(6) 55.5
....

3. Вот сверхмегагениальное решение, которое тебе нужно.
Код

a[0] = (a[0]+a[1])/2;
a[N] = (a[N]+a[N-1])/2;
for (int i=1; i<N-1; ++i) {
     a[i] = (a[i-1]+a[i]+a[i+1])/3;
}


Добавлено через 2 минуты и 22 секунды
Японский городовой. Пока я строчил, ты высрал еще более гениальную фигню:
число n заменяется на среднее чисел n-1, n и n+1!!! Ну эту программу ты явно осилишь!

Автор: AntonNeChehov 29.12.2009, 03:14
спасибо чувак smile 

Автор: NYX 29.12.2009, 04:08
мнеб таким умным быть (не ругайтесь за оффтоп)  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)