Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 12.02.2015
Сообщений: 51
1

Добавить к каждому числу файла среднее арифметическое максимума и минимума

20.06.2015, 18:01. Показов 711. Ответов 1
Метки нет (Все метки)

Записать выходной файл, добавить к каждому числу среднее арифметическое наименьшего по абсолютной величине и наибольшего из чисел файла. Помогите, изменить код

есть вариант сделанный для такого:
Добавить к каждому числу первое нечетное по абсолютной
величине число.
Использовать потоковые итераторы. Написать функцию outfile(), записывающую
элементы контейнера в текстовый файл output.txt.
Также использовать для заполнения контейнера алгоритм generate(), а для обработки –
алгоритм for_each() и transform().

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>
#include<string>
#include<sstream>
#include<ctime>
 
#include<vector>
#include<deque>
#include<list>
 
#include<algorithm>
#include<cstdlib>
#include <iterator>
 
using namespace std;
 
int firstnechot;
 
FILE *File(int N, int count)
{
    srand(time(NULL));
    FILE *file;
    file = fopen("input.txt", "w+");
    fstream in(file);
    for (int i = 1; i <= count; i++)
    {
        in << rand() % (2 * N + 1) - N << endl;
    }
    cout << "Файл создан!" << endl;
    return file;
}
 
vector<int> inputfile_to_vector(FILE *File)
{
    ifstream in(File);
    in.seekg(0);
 
    int x;
 
    vector<int> vector;
 
    in >> x;
 
    while (!in.eof()){
        vector.push_back(x);
        in >> x;
    }
 
    return vector;
}
deque<int> inputfile_to_deque(FILE *File)
{
    ifstream in(File);
    in.seekg(0);
 
    int x;
 
    deque<int> deque;
 
    in >> x;
 
    while (!in.eof()){
        deque.push_back(x);
        in >> x;
    }
 
    return deque;
}
list<int> inputfile_to_list(FILE *File)
{
    ifstream in(File);
    in.seekg(0);
 
    int x;
 
    list<int> list;
 
    in >> x;
 
    while (!in.eof()){
        list.push_back(x);
        in >> x;
    }
 
    return list;
}
 
template <class T>
T modify(T x)
{
    T::iterator pos;
    int firstnechot = 0;
    for (pos = x.begin(); pos != x.end(); ++pos)if (abs(*pos) % 2 == 1){ firstnechot = abs(*pos); break; }
    for (pos = x.begin(); pos != x.end(); ++pos)*pos = *pos + firstnechot;
    return x;
}
 
template <class T>
inline void Add(T& conteiner)
{
    typename T::const_iterator pos;
    int S = 0, SA = 0, N = 0;
    for (pos = conteiner.begin(); pos != conteiner.end(); ++pos) {
        S += *pos;
        SA += abs(*pos);
        N++;
    }
    conteiner.push_back(S);
    conteiner.push_back(SA / N);
    cout << endl << "В контейнер добавлена сумма и среднее арифметическое!" << endl;
}
 
template <class T>
inline void outfile(const T& conteiner)
{
    cout << endl << "Введите имя файла для вывода: ";
    string s;
    cin >> s;
    ofstream out(s);
    typename T::const_iterator pos;
 
    for (pos = conteiner.begin(); pos != conteiner.end(); ++pos) {
        out << *pos << endl;
    }
    cout << endl << "Файл выведен!" << endl;
}
 
int Random()
{
    return  rand() % (2 * 50 + 1) - 50;
}
int Function_Nechot(int &x)
{
    return x = x + firstnechot;
}
 
 
void main()
{
    setlocale(0, "");
 
 
    FILE *F = File(50, 10);
 
 
    cout << endl << "Создание контейнеров..." << endl;
    vector<int> V = inputfile_to_vector(F);
    deque<int> D = inputfile_to_deque(F);
    list<int> L = inputfile_to_list(F);
 
 
    cout << endl << "Изменение контейнера" << endl;
    D = modify(D);
    Add(D);
    outfile(D);
 
 
    cout << endl << "Создание и изменение контейнера с пощью встроенных методов" << endl;
 
 
    vector<int> V_each;
    generate_n(back_inserter(V_each), 10, Random);
 
    vector<int>::iterator pos1;
    for (pos1 = V_each.begin(); pos1 != V_each.end(); ++pos1)if (abs(*pos1) % 2 == 1){ firstnechot = abs(*pos1); break; }
    cout << endl << "Изменение контейнера с помощью метода for_each" << endl;
    for_each(V_each.begin(), V_each.end(), Function_Nechot);
    outfile(V_each);
 
 
    vector<int> V_transform;
    generate_n(back_inserter(V_transform), 10, Random);
 
    vector<int>::iterator pos2;
    for (pos2 = V_transform.begin(); pos2 != V_transform.end(); ++pos1)if (abs(*pos2) % 2 == 1){ firstnechot = abs(*pos2); break; }
    cout << endl << "Изменение контейнера с помощью метода transform" << endl;
    transform(V_transform.begin(), V_transform.end(), V_transform.begin(), Function_Nechot);
    outfile(V_transform);
 
    cout << endl << endl;
    system("pause");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2015, 18:01
Ответы с готовыми решениями:

Найти среднее арифметическое Sr максимума и минимума массива
помогите с написанием кода к данной задач, заранее признателен. условие:Ввести одномерный массив...

Найти среднее арифметическое минимума и максимума массива
Задание: Пользователь вводит массив 3х3. Программа находит среднее арифметическое минимума и...

Найти среднее арифметическое Sr максимума и минимума массива.
Ввести одномерный массив А , вывести его. Найти среднее арифметическое Sr максимума и минимума...

Посчитать значение максимума, минимума, сумму и среднее арифметическое элементов массива
Распечатать массив из 10-ти случайных элементов в диапозоне от -100 до 100 по формуле. Посчитать...

1
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
20.06.2015, 19:01 2
С++ Файл выходной
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2015, 19:01

Пользователь вводит 5 чисел. Программа подсчитывает среднее арифметическое минимума и максимума. (Указатели)
Пользователь вводит 5 чисел. Программа подсчитывает среднее арифметическое минимума и максимума....

Найти SrA – среднее арифметическое элементов файла расположенных правее минимума
Создать файл F вещественных чисел. Найти SrA – среднее арифметическое элементов расположенных...

Получить среднее арифметическое по трем предметам ученика и среднее по каждому предмету всех студентов
есть список студентов и оценки по трем предметам(химия, физика , алгебра пусть будут) , нужно...

Добавить к каждому числу единицу и вывести конечное
Добрый день, сразу объясню в чём задача имеются числа, к примеру: 1 2 3 4 5 6 7 8 9 10 Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru