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

В одномерном массиве вычислить среднее значение положительных элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В введенной строке поменять местами ближайшие "А" и "В http://www.cyberforum.ru/cpp-beginners/thread581988.html
В введенной строке поменять местами ближайшие "А" и "В в с++, помогите..завтра зачет)
C++ В введенной строке заменить все "А" на "В В введенной строке заменить все "А" на "В в с++, помогите..завтра сдавать) http://www.cyberforum.ru/cpp-beginners/thread581985.html
гарантированное удаление файлов или директорий C++
Нужно написать программу на языке с++,помогите реализовать проект для ubuntu/
Сумма в тексте C++
Здравствуйте, правильно ли я составила программу? Написать программу, определяющую сумму "S=1+2+3......+100," записывать S во внешний файл, закрыть файл, открыть файл и прочитать s ...
C++ Очередь в линейном списке http://www.cyberforum.ru/cpp-beginners/thread581959.html
Добрый вечер, форумчане. Моя цель - реализовать очередь в виде линейного списка. #include <iostream> struct data { char *mas; struct data *next; struct data *next1; } *first;
C++ Текст из 20 строк хранится в файле, группа символов в строке называется словом, знаки препинания от слова пробелом не отделяются Помогите пожалуйста. Текст из 20 строк хранится в файле, группа символов в строке называется словом, знаки препинания от слова пробелом не отделяются. Выполнить следующие операции:Определить... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
22.05.2012, 01:07
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
38
39
40
41
42
43
44
45
46
47
#include <iostream>
 
template<typename T>
double average(T *, std::size_t);
template<typename T>
void print(T *, std::size_t);
 
int main()
{
    int iarr[] = {1, 2, 3, 4, 5, 6, 12, 2, 32, 31, 12, 32};
    float farr[] =  {0.32, 0.12, 1.67, 19.2, 9.98, -0.12, -27.1};
    double darr[] = {1., -2.5, 12.78, 8.1, 9.23, -17.8};
    print(iarr, sizeof(iarr) / sizeof(*iarr) );
    std::cout<< "Ave: "<< average (iarr, sizeof(iarr) / sizeof(*iarr) )<< std::endl;
    print(farr, sizeof(farr) / sizeof(*farr) );
    std::cout<< "Ave: "<< average (farr, sizeof(farr) / sizeof(*farr) )<< std::endl;
    print(darr, sizeof(darr) / sizeof(*darr) );
    std::cout<< "Ave: "<< average (darr, sizeof(darr) / sizeof(*darr) )<< std::endl;
    return 0;
} 
 
template<typename T>
double average(T *arr, std::size_t N)
{
    int count = 0;
    T sum = 0;
    for (std::size_t i=0; i < N; i++)
        if(arr[i] >= 0)
        {
            sum += arr[i];
            count++;
        }
    if (count == 0)
    {
        std::cout<< "There's no positive elements\n";
        return 0;
    }  
    return sum / count;
}
 
template<typename T>
void print(T *arr, std::size_t N)
{
    for (std::size_t i=0; i < N; i++)
        std::cout<< arr[i]<< " ";
    std::cout<< std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru