Во-первых, X1 < 8, иначе число 2N в 16-ной записи станет 4-значным. Можно написать такую программу поиска этих чисел Начало k = 0 ' Это счетчик чисел, которые мы ищем Цикл по X1 от 1 до 7 Цикл по Y1 от 0 до 15 Цикл по Z1 от 0 до 15 N = X1*256 + Y1*16 + Z1 M = 2*N X2 = Int (M / 256) Y2 = Int ((M - X2*256) / 16) Z2 = M Mod 16 Если (X1+Y1+Z1 = X2+Y2+Z2) And ((X1 = 2) Or (Y1 = 2) Or (Z1 = 2), То k = k + 1 Конец Если Конец цикла по Z1 Конец цикла по Y1 Конец цикла по X1 Вывод k Конец
2N = X2*256 + Y2*16 + Z2
X1 + Y1 + Z1 = X2 + Y2 + Z2
Во-первых, X1 < 8, иначе число 2N в 16-ной записи станет 4-значным.
Можно написать такую программу поиска этих чисел
Начало
k = 0 ' Это счетчик чисел, которые мы ищем
Цикл по X1 от 1 до 7
Цикл по Y1 от 0 до 15
Цикл по Z1 от 0 до 15
N = X1*256 + Y1*16 + Z1
M = 2*N
X2 = Int (M / 256)
Y2 = Int ((M - X2*256) / 16)
Z2 = M Mod 16
Если (X1+Y1+Z1 = X2+Y2+Z2) And ((X1 = 2) Or (Y1 = 2) Or (Z1 = 2), То
k = k + 1
Конец Если
Конец цикла по Z1
Конец цикла по Y1
Конец цикла по X1
Вывод k
Конец
#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}