Форум программистов, компьютерный форум 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, 03:54     Все элементы, кроме первого, заменить средним арифметическим всех предыдущих
Простейшая задача.
Вот код. Написал за минуту.

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 + *b) / count;
}
 
// проходит по массивчику задом наперед
template <typename I, typename T>
void hop(I begin, I end)
{
    if(end - begin) (hip<I, T>(begin, end, 0, 1), hop<I, T>(begin, end - 1));
}
 
// печатает результат
template <typename I>
void print_array(I begin, I end)
{
    while(begin < end) std::cout << *begin++ << ' ';
}
 
int main()
{
    double m[5] = {1, 2, 3, 4, 5};
 
    print_array(m, m + 5); std::cout << std::endl;
 
    hop<double *, double>(m, m + 4);
 
    print_array(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