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

В массиве вычислить среднее арифметическое и вычесть его из каждого элемента массива. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана. http://www.cyberforum.ru/cpp-beginners/thread545574.html
Решить нужно в Турбо-среде Borland C++ Текстовый режим Постановка задачи 1 Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана. Написать на красном фоне желтым цветом ( без кавычек). Переместить окно в центр экрана, занести его в память, а затем воспроизвести по незаполненным трем углам экрана.
C++ Проблемы с распараллеливанием(omp) простой программы Нужно реализовать и распараллелить простенький алгоритм: Найти минимальное число, большее заданного N, которое делится нацело на все заданные числа n1, n2, ... nk. #include <iostream> #include <ctime> #include <omp.h> #include <vector> #include <list> using namespace std; void main(){ http://www.cyberforum.ru/cpp-beginners/thread545553.html
Упаковка и распаковка даты. C++
Добрый день. Помогите найти ошибку. А она заключается в том, что число в битовом представлении в сдвиге, получаеться совсем другое, нежели в битовых полях. Также это влечёт за собой не правильную распаковку даты. Заранее спасибо!:good: Код рабочий, можно вставить и проверить у себя. #include <iostream> #include <iomanip> #include <conio.h> using namespace std; void DisplayBits(...
Массив: В массиве из 20 элементов расставить по возрастанию только четные C++
В массиве из 20 элементов целого типа расставить по возрастанию только четные. Обязательное использование хотя бы одного указателя. Заранее спасибо.
C++ OpenGL ошибка при компиляции http://www.cyberforum.ru/cpp-beginners/thread545524.html
Добрый вечер! Пользуюсь CodeBlocks. Есть вот такая вот программка, которая должна нарисовать точку. int main(int argc, char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(240,240);
C++ Массив: Получить новую матрицу следующим способом: умножением Min каждой строки первой матрицы на Max соответствующего столбца второй Пусть даны две вещественные матрицы порядка N. Получить новую матрицу следующим способом: умножением минимального элемента каждой строки первой матрицы на наибольший элемент соответствующего столбца второй матрицы. подробнее

Показать сообщение отдельно
Петррр
5935 / 3372 / 334
Регистрация: 28.10.2010
Сообщений: 5,926
11.04.2012, 23:01     В массиве вычислить среднее арифметическое и вычесть его из каждого элемента массива.
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
48
49
50
51
52
53
54
55
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <fstream>
#include <algorithm>
#include <iterator>
#include <numeric>
 
/* 
 arrays.txt
1,2,3,4,5.
6,7,8,9,10,11,12.
 
*/
 
int main()
{
    std::vector< std::vector<double> > vectors;
    std::ifstream input("array.txt");
    std::string str;
    if (input.is_open())
    {
        while (std::getline(input, str, '\n'))
        {
            std::stringstream stream(str);
            std::vector<double> vec;
            int number;
            char ch;
            while ( stream >> number && stream >> ch )
                vec.push_back(number);
            vectors.push_back(vec);
        }
        int size = vectors.size();
        for(int i = 0; i < size; i++)
        {
            double sum = std::accumulate(vectors[i].begin(), vectors[i].end(), 0);
            std::cout << std::endl << "Array: " << (i + 1) << std::endl;
            std::copy(vectors[i].begin(), vectors[i].end(), std::ostream_iterator<int>(std::cout, " "));
            std::cout << std::endl;
            double avg = sum / vectors[i].size();
            std::cout << "Среднее арифметическое: " << avg << std::endl;
            std::transform(vectors[i].begin(), vectors[i].end(), vectors[i].begin(), [avg] (int num){
                return num - avg;
            });
            std::cout << "После изменений:" << std::endl;
            std::copy(vectors[i].begin(), vectors[i].end(), std::ostream_iterator<int>(std::cout, " "));
            std::cout << "\n+----------------+";
        }
        input.close();
    }   
    else
        std::cout << "Не удалось открыть файл." << std::endl;
    return 0;
}
 
Текущее время: 02:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru