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

Для каждого массива определить среднее арифметическое максимального и минимального значения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Использование функций, возвращающих одно значение http://www.cyberforum.ru/cpp-beginners/thread241433.html
помогите решить: Использование функций, возвращающих одно значение. Даны целочисленные массивы D, A. Для каждого массива определить среднее арифметическое максимального и минимального значения.
C++ Объект Всем привет, вот опять непонятка... Не могу осмыслить вот эту строку Employee& theEmployee = mEmployees; Это на сколько я понял объявляется объект... Для заметки mEmployees был объявлен в классе как массив объектов Employee mEmployees; Как так можно при объявлении объекта приравнять ей значение, это же объект, а значит можно обращаться только к его методам и свойствам внутри него,... http://www.cyberforum.ru/cpp-beginners/thread241429.html
C++ Работа с классами и их методами.
Есть класс numerals, состоящий из двух дробных чисел. Среди методов - сложение, вычитание, деление и умножение этих двух чисел. Вот исходники: main.cpp #include "stdafx.h" #include <iostream> #include "numerals.h" using namespace std;
C++ Арифметическая прогрессия
Здравствуйте, помогите со способом выполнения задания. Задание: Пользователь задает n кол-во целых чисел, необходимо определить можно ли расположить эти числа в ряд так, чтобы ряд был арифметической прогрессией. У меня только мысли о том чтобы: 1) Отсортировать ряд 2) Проверить первых 3 числа на разницу(найти шаг) 3) Пробежаться по ряду проверяя между числами шаг Но чего-то это мне кажется...
C++ как с пoмощью цикла и оператора If проверить полиндром ли число http://www.cyberforum.ru/cpp-beginners/thread241414.html
собственно вопрос в названии.
C++ Может быть совсем чайниковский вопрос? Может быть совсем чайниковский вопрос? Что сделать когда пишешь первую программу, чтобы когда выходило окно не калибяки были а русские слова подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.02.2011, 00:40     Для каждого массива определить среднее арифметическое максимального и минимального значения
Еще свой вариант добавлю(только для MSVS 10 и GCC 4.5+)
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
#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <vector>
#include <iomanip>
 
typedef std::vector<int>   T_arr;
typedef std::vector<T_arr> T_matr;
 
const size_t matrix_size = 5;
 
void fill_matrix(T_matr &matrix){
  T_arr tmp;
  std::generate_n(matrix.begin(), matrix_size, [&tmp, &matrix_size]() -> T_arr{
    if(!tmp.empty())
      tmp.clear();
    tmp.resize(matrix_size);
    std::generate_n(tmp.begin(), matrix_size, []() -> int{
      return rand() % 100 - 50;
    });
    return tmp;
  });
}
 
void show_matrix(T_matr &matrix){
  std::cout << '\n';
  std::for_each(matrix.begin(), matrix.end(), [](T_arr &a){
    std::for_each(a.begin(), a.end(), [](int a_){
      std::cout << std::setw(4) << a_ << ' ';
    });
    std::cout << '\n';
  });
}
 
double get_mid_aref(T_matr &matrix){
  T_arr min = *std::min_element(matrix.begin(), matrix.end(), [](T_arr &a, T_arr &b){
    return *std::min_element(a.begin(), a.end()) < *std::min_element(b.begin(), b.end());
  });
  T_arr max = *std::max_element(matrix.begin(), matrix.end(), [](T_arr &a, T_arr &b){
    return *std::max_element(a.begin(), a.end()) > *std::max_element(b.begin(), b.end());
  });
  return ( *std::min_element(min.begin(), min.end()) + *std::max_element(max.begin(), max.end()) ) / 2.0;
}
 
int main(){
  srand(time(0));
  T_matr matrix_1(matrix_size),
         matrix_2(matrix_size);
  fill_matrix(matrix_1);
  fill_matrix(matrix_2);
  show_matrix(matrix_1);
  show_matrix(matrix_2);
  std::cout << "\n\nResult: \n1)" << get_mid_aref(matrix_1) << '\n' << "2)" << get_mid_aref(matrix_2);
  return 0;
}
 
Текущее время: 15:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru