Форум программистов, компьютерный форум CyberForum.ru

Все элементы, кроме первого, заменить средним арифметическим всех предыдущих - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k http://www.cyberforum.ru/cpp-beginners/thread658841.html
Дан вектор размерности N. Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k.
C++ Переписать одномерный массив в двумерный Не пойму как реализовать задачу. Помогите с кодом :) Хотя-бы для первой части задачи Переписать исходный одномерный массив с количеством элементов, соответствующим принятому простому числу, в двумерный массив. В полученном массиве определить два максимальных элемента. http://www.cyberforum.ru/cpp-beginners/thread658834.html
Формирование массива по заданному правилу C++
Дан массив A размера N (одномерный). Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N
C++ третья степень суммы трёх чисел
Задание было такое: возвести сумму трёх чисел в третью степень. С первой частью я справился, но вот как возвести в степень? Слышал, что для этого нужно воспользоваться функцией pow. Вот код: #include <cstdlib> #include <iostream> #include <conio.h> #pragma hdrstop using namespace std; int main() {
C++ Проверьте код http://www.cyberforum.ru/cpp-beginners/thread658821.html
#include <stdio.h> #include <math.h> #include <conio.h> int main() { int a,b,res; char zn; scanf ("%u %u",&a,&b); scanf ("%c",zn); switch (zn)
C++ DirectX Sound Я делаю плеер. Что ннада качать для библиотеки, хорошо, если примеры кода, или хотя бы лит-ра на русском С++2010/CLI/CLR подробнее

Показать сообщение отдельно
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
27.09.2012, 17:48     Все элементы, кроме первого, заменить средним арифметическим всех предыдущих
Цитата Сообщение от Байт Посмотреть сообщение
Спорить не буду.
Точно, вы правы. Нам же нужно считать среднее арифметическое от всех ПРЕДЫДУЩИХ элементов.
Вот исправленный вариант.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <windows.h>
#include <iostream>
 
// вычисляет среднее арифметическое последнего элемента
template <typename I, typename T>
void hip(I b, I e, T sum, int count)
{
    b != e ? hip<I, T>(b + 1, e, sum + *b, ++count) : *e = sum / count;
}
 
// проходит по массивчику задом наперед
template <typename I, typename T>
void hop(I begin, I end)
{
    if(end - begin) (hip<I, T>(begin, end, 0, 0), hop<I, T>(begin, end - 1));
}
 
// печатает результат
template <typename I>
void print(I begin, I end)
{
    if(begin < end) print((std::cout << *begin++ << ' ', begin), end);
}
 
int main()
{
    double m[5] = {1, 2, 3, 4, 5};
 
    print(m, m + 5); std::cout << std::endl;
 
    hop<double *, double>(m, m + 4);
 
    print(m, m + 5); std::cout << std::endl;
 
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru