Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)#include <iostream>
#include <time.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int a[5][5];
int i, j, s, p;
srand(time(NULL));
for (i = 0; i <= 4; i++) {
cout << "\n";
for (j = 0; j <= 4; j++) {
a[i][j] = ((double)rand() / (RAND_MAX + 1) * 5) + 1;
cout << a[i][j] << ' ';
}
}
s = 0;
for (i = 0, j = 4; i < 5; i++, j--) // правая диагональ
s += a[i][j];
p = 1;
for (i = 0; i < 5; i++) // левая диагональ
p *= a[i][i];
cout << "\n\nСумма правой диагонали = " << s << "\nПроизведение левой диагонали = " << p << "\n";
}