#include <iostream>
#include <time.h>
using namespace std;
int main() {
srand(time(NULL)); // обнулить время для функции rand()
//Задача 1
const int count = 10; // переменная длины масива
int arr[count];//масив чисел
for (int i = 0; i < count; ++i) {//цикл до конца масива
arr[i] = rand() % 81 - 30;//присвоить рандомные числа. (-30 чначит от -30) (81 значит -30+81 = 50 до 50 учитывая 0)
if (arr[i] > 0) // проверка если число > 0
arr[i] = 5; // присваиваем 5
else if (arr[i] < 0)// проверка если число < 0
arr[i] = 7; // присваиваем 7
}
//Задача 2
long int sum1 = 1;//произведение положительных
int sum2 = 0;//сумма отрицательных
const int count2 = 10; // переменная длины масива
int arr2[count2];//масив чисел
for (int i = 0; i < count2; ++i) {//цикл до конца масива
arr2[i] = rand() % 101 - 40;//присвоить рандомные числа. (-40 чначит от -40) (101 значит -40+101 = 60 до 60 учитывая 0)
if (arr2[i] < 0)// проверка если число < 0
sum2 += arr2[i]; // присваиваем sum2 все отрицательные числа
}
for (int i = 0; i < count2; ++i) {//цикл до конца масива
if (arr2[i] > 0) // проверка если число > 0
sum1 *= arr2[i];
}
return 0;
}
Объяснение:

, каждую восьмеричную цифру заменяем тремя двоичными (триадой) и получаем двоичное число. А затем, зная что
, мы группируем двоичные разряды справа налево по четыре, получая тетрады. И, наконец, каждую тетраду мы заменяем соответствующей шестнадцатиричной цифрой. Описывать этот процесс долго, а перевод делается быстро.