
var
a: array [1..16] of integer; //Массив из 16 целых чисел
i: integer;
b: boolean; {Логическая переменная (найдено ли хотя бы одно число, кратное трем)}
begin
b:= false; //Ни одного числа, кратного трем еще не найдено
write('Исходный массив: ');
for i:= 1 to 16 do {Заполняем исходный массив случайными числами от - 20 до 20 и распечатываем его}
begin
a[i]:= random(40) - 20;
write(a[i], ' ');
end;
writeln;
for i:= 1 to 16 do //Определяем, есть ли в массиве хотя бы одно число, кратно трём, и если есть, то выходим из цикла
if (a[i] mod 3 = 0) and (a[i] <> 0) then
begin
writeln('В массиве есть хотя бы одно число, кратное трём');
b:= true;
break;
end;
if b = false then writeln('В массиве нет ни одного числа, кратного трём');
end.
Если все правильно, отметь решение как лучшее)
#include <iostream>
#include <time.h>
using namespace std;
void print_array3(int*** mat, int n, int m, int z) {
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
for (size_t k = 0; k < z; k++) {
cout << mat[i][j][k] << " ";
}
cout << endl;
}
cout << endl;
}
}
pair<int***, pair<int, int>> auto_input_array3_and_counter_positive(int*** mat, int n, int m, int z) {
int sum = 0;
int positive = 0;
for (size_t i = 0; i < n; i++) {
for (size_t j = 0; j < m; j++) {
for (size_t k = 0; k < z; k++) {
mat[i][j][k] = rand() % 200 - 100;
if (mat[i][j][k] > 0) {
positive++;
sum += mat[i][j][k];
}
}
}
}
return make_pair(mat, make_pair(positive, sum));
}
int main()
{
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int n = 100, m = 20, z = 75;
int*** array = new int** [n];
pair<int***, pair<int, int>> pair_array_and_positive_sum;
for (size_t i = 0; i < n; i++) {
array[i] = new int* [m];
for (size_t j = 0; j < m; j++) {
array[i][j] = new int[z];
}
}
pair_array_and_positive_sum = auto_input_array3_and_counter_positive(array, n, m, z);
print_array3(pair_array_and_positive_sum.first, n, m, z); // ЕСЛИ НЕ НАДО ВЫВОДИТЬ, ТО ЗАКОММЕНТИРОВАТЬ
cout << "Сумма всех положительных элементов в массиве равна: " << pair_array_and_positive_sum.second.second << endl;
if (pair_array_and_positive_sum.second.first > n* m* z - pair_array_and_positive_sum.second.first) {
cout << "Положительных чисел больше на " << n * m * z - (n * m * z - pair_array_and_positive_sum.second.first) << endl;
}
else {
cout << "Отрицательных чисел больше на " << n * m * z - 2 * pair_array_and_positive_sum.second.first << endl;
}
}