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

Считывать линейный массив из файла - C++

Восстановить пароль Регистрация
 
Клео)
 Аватар для Клео)
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
03.05.2010, 14:52     Считывать линейный массив из файла #1
напишите пожалйста программу, которая считывает линейный массив из файла, выводит его на экран и находит среднее арифметичкское элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.05.2010, 17:51     Считывать линейный массив из файла #2
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
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <numeric>
 
int main(){
    std::vector<int> vec;
    std::ifstream ifs("num.txt");
    if ( !ifs.is_open() ){
        std::cerr << "Can't open input file!" << std::endl;
        return 1;
    }
    std::copy(std::istream_iterator<int>(ifs), std::istream_iterator<int>(), std::back_inserter(vec));
    ifs.close();
    if ( vec.empty() ){
        std::cerr << "Shit happens!" << std::endl;
        return 1;
    }
    std::cout << "Array:" <<std::endl;
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl << "Average value: " << ( static_cast<double>(std::accumulate(vec.begin(), vec.end(), 0)) / static_cast<double>(vec.size()) ) << std::endl;
 
    return 0;
}
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
03.05.2010, 17:55     Считывать линейный массив из файла #3
сама напиши:
надо обьявить массив из n элементов, например типа int, октрываешь файл на чтение, в цикле пока не конц файла считваешь по одному числу в массив (надо чтобы в цикле индекс массива менялся и зпись на каждой итерации шла в следующую ячейку массива), потом, тоже в цикле, для индекс от нуля до n проходишь по массиву на каждой итерации вывоя элемент на экран.
теперь надо завести временную переменную S, где будем хранить промежуточно значение суммы всех элемеентов деленой на n. Далее в цикеле пробегаем по массиву, складываем текущий элемент с временной переменной S. после всего делим S на количество всех элементв n и получаем среднее арифметическое.

Добавлено через 1 минуту
P. S. X_X
Клео)
 Аватар для Клео)
1 / 1 / 0
Регистрация: 03.05.2010
Сообщений: 13
03.05.2010, 18:31  [ТС]     Считывать линейный массив из файла #4
спасибо))
Yandex
Объявления
03.05.2010, 18:31     Считывать линейный массив из файла
Ответ Создать тему
Опции темы

Текущее время: 02:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru