Другие языки программирования и технологии
Помогите написать прогу на С++
Условие: Написать функцию, которая получает целочисельный массив (из файла) и его длину и возвращает разницу между максимальным значением и срадним арифметическим чисел
#include <fstream>
#include <iostream>
using namespace std;
void problem();
int maximum(int *, const size_t);
double average(int *, const size_t);
int main() {
problem();
return 0;
}
void problem() {
size_t size;
ifstream ifs("array.txt", ifstream::in);
ifs >> size;
int * a = new int [size];
if (size) for (size_t n = 0; n < size; n++) ifs >> a[n];
if (a) {
double result = maximum(a, size) - average(a, size);
cout << "Result = " << result << endl;
}
ifs.close();
delete[] a;
cin.get();
}
int maximum(int * _array, const size_t _size) {
int max = 0;
if (_array && _size) {
max = _array[0];
for (size_t n = 1; n < _size; n++) if (max < _array[n]) max = _array[n];
}
return max;
}
double average(int * _array, const size_t _size) {
double avg = 0;
if (_array && _size) {
double sum = 0;
for (size_t n = 0; n < _size; n++) sum += _array[n];
avg = sum / _size;
}
return avg;
}
Файл array.txt располагается в директории проекта и содержит первым числом размер массива, а далее перечисляется значение элементов, в количестве не меньшим, чем размер массива.
#include <iostream>
using namespace std;
void problem();
int maximum(int *, const size_t);
double average(int *, const size_t);
int main() {
problem();
return 0;
}
void problem() {
size_t size;
ifstream ifs("array.txt", ifstream::in);
ifs >> size;
int * a = new int [size];
if (size) for (size_t n = 0; n < size; n++) ifs >> a[n];
if (a) {
double result = maximum(a, size) - average(a, size);
cout << "Result = " << result << endl;
}
ifs.close();
delete[] a;
cin.get();
}
int maximum(int * _array, const size_t _size) {
int max = 0;
if (_array && _size) {
max = _array[0];
for (size_t n = 1; n < _size; n++) if (max < _array[n]) max = _array[n];
}
return max;
}
double average(int * _array, const size_t _size) {
double avg = 0;
if (_array && _size) {
double sum = 0;
for (size_t n = 0; n < _size; n++) sum += _array[n];
avg = sum / _size;
}
return avg;
}
Файл array.txt располагается в директории проекта и содержит первым числом размер массива, а далее перечисляется значение элементов, в количестве не меньшим, чем размер массива.
float funct(float *a,int n){
float max=a [ 0 ];
float sreda=0;
for ( int i =0 ; i < n ; i++){
if( a [ i ] > max) max=a [ i ];
sreda+=a /n
}
return abs(max-sreda);
}
float max=a [ 0 ];
float sreda=0;
for ( int i =0 ; i < n ; i++){
if( a [ i ] > max) max=a [ i ];
sreda+=a /n
}
return abs(max-sreda);
}
Похожие вопросы
- Помогите написать прогу!!!
- Помогите написать прогу на паскале
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!
- Помогите написать прогу с++ ничего не помню как делать, хнык хнык (((
- ....Помогите написать проги на pascal....
- Помогите написать прогу на с++.
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на TURBO PASCAL...
- Кто шарит в Borland Pascal помогите написать прогу