2.
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #include <iostream>;
#include <vector>;
#include <algorithm>;
using namespace std;
int main () {
vector <double> temps;
double temp;
while (cin >> temp)
temps.push_back (temp);
for (int i = 0; i < temps.size (); ++i)
sort (temps.begin (), temps.end ());
if (temps.size () %2 == 0) {
cout << "Медиана температуры " << (temps [temps.size ()/2] + temps [temps.size ()/2 - 1])/2 << endl;}
else {
cout << "Медиана температуры " << temps [temps.size ()/2] << endl; }
return 0;
} |
|
Если что-то не понятно, смотрите самое начало главы про векторы. Лично я долго думал над тем, почему это работает, и как обратиться к последнему символу)
3.
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #include <iostream>;
#include <vector>;
#include <algorithm>;
using namespace std;
int main () {
vector <double> dist;
double km;
const string m = " m";
cout << "Введите числа. Они будут расстояниями между городами\n";
while (cin >> km)
dist.push_back (km);
double sum = 0;
for (int i = 0; i < dist.size (); ++i) sum += dist[i];
sort (dist.begin (), dist.end ());
cout << "Сумма всех расстояний = " << sum << m << endl
<< "Наибольшее расстояние между соседними городами = " << dist [dist.size ()-1] << m << endl
<< "Наименьшее расстояние между соседними городами = " << dist [0] << m << endl
<< "Среднее расстояние между соседними городами = " << sum / dist.size () << m << endl;
return 0;
} |
|
Технически все правильно - если мы в условии обозначаем, что введенные числа являются расстояниями, то нужно просто найти наибольшее и наименьшее.
Прошу прощения за столь долгое отсутствие, но сейчас занят над небольшим проектом, которому уделяю очень много времени. Следующее упражнение делается, хоть и потихоньку |