71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 368
1

Значение строки кода temps[temps.size()/2]

14.06.2018, 04:19. Показов 633. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Программа мне ясна, всё разобрал, что-то добавил своё. Изучаю векторы. И не могу понять только строки 28 и 31, а именно
C++
1
temps[temps.size()/2]
и
C++
1
(temps[temps.size()/2] + temps[temps.size()/2] - 1) / 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
27
28
29
30
31
32
33
34
35
#include <iostream> 
#include <vector>
#include <ctime>
#include <algorithm>
#include<string>
#include<cmath>
using namespace std; 
 
int main() {
setlocale(LC_ALL, "rus");
 
vector<double> temps; 
for (double temp; cin>>temp;) 
temps.push_back(temp); 
// Вычисление средней температуры: 
double sum = 0; 
for (int i = 0; i < temps.size(); i++) sum += i; 
cout << "Средняя температура: "; 
cout << sum/temps.size() << "\n"; 
// Вычисление медианы температуры:
cout << "Числа в порядке возрастания: \n"; 
sort (temps.begin(), temps.end());
for(int i = 0; i < temps.size(); i++)
        cout << temps[i] << ' ';
        cout << endl; 
         
if (temps.size() % 2 != 0) {
    cout << "Медиана нечётного ряда: " << temps[temps.size()/2] << "\n";
}
else if (temps.size() % 2 == 0) {
    cout << "Медиана чётного ряда[ASM][/ASM]: " << (temps[temps.size()/2] + temps[temps.size()/2] - 1) / 2 << "\n";
}
system("pause");
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2018, 04:19
Ответы с готовыми решениями:

Объясните значение строки кода
Объясните, пожалуйста, данную строчку cout &lt;&lt; (count % 2 ? &quot;****&quot; : &quot;++++++++&quot;) &lt;&lt; endl; я как...

Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1]
Требуется написать программу, которая заполняет массив размерности n*n по заданному правилу: ...

Не получается вернуть значение массива char tags[SIZE]
Поправьте меня, пожалуйста. Не могу вернуть значение массива char tags: #include &lt;windows.h&gt; ...

Что означает запись типа template<typename _Ty, size_t size> void foo(_Ty(&param)[size])?
Что означает такая запись(какой тип передается, что-то вроде ссылки на массив или что-нибудь ещё?):...

2
223 / 188 / 97
Регистрация: 15.04.2018
Сообщений: 718
14.06.2018, 08:16 2
temps[temps.size()/2]: temps.size() - количество элементов в векторе, temps.size()/2 - количество элементов, деленное на два, temps[temps.size()/2] - получение элемента, находящегося в середине, но чуть ближе к началу

(temps[temps.size()/2] + temps[temps.size()/2] - 1) / 2: вы суммируете элемент в середине массива с самим собой (тоже самое, что домножить на два), затем вычитаете из полученного числа 1 и полученное число делите на 2.

В код не вчитываюсь, ибо...
Цитата Сообщение от eganator Посмотреть сообщение
Программа мне ясна, всё разобрал
1
71 / 51 / 8
Регистрация: 13.11.2017
Сообщений: 368
14.06.2018, 13:52  [ТС] 3
mvngr, Большое спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2018, 13:52
Помогаю со студенческими работами здесь

name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
int main(){ vector&lt;double&gt; temps; double temp; cout &lt;&lt; &quot;Введите последовательность...

Объяснить значение строки кода
Объясните ,пожалуйста, что значит эта строка: StringGrid1.Cells:=inttostr(a);

Объяснить значение строки кода
что означает эта строка? Console.WriteLine(i + &quot; &quot; + j + &quot; &quot; + k);

Ошибка: firebird Size Mismatch - Field GROUP size is too small for data
Возникла проблема, пишет Size Mismatch - Field FULL_ADR size is too small for data ошибку, которой...

error ROM file size does not match existing BIOS size
Добрый день! Так же Foxconn H61MX, пробовал прошить через программу FOX LiveUpdate указывая путь...

Fetch size and batch size в запросах sql
Добрый день! Вопрос вот какой, я выполняю batch insert из одной таблицы в другую таблицу через...


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

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

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