Albina1967
25.03.2021 23:24

Вам предлагается составить программу для следующей задачи. Дано двумерный массив, в котором 5 строк, 4 столбца. Элементы массива - действительные числа. Найти сумму и количество положительных элементов данного массива. (При обработке массива нужно применять условный оператор, для выбора цифр по указанному критерию).​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
МАШЕНЬКА881
06.03.2023 20:18
Const
  n = 11;

var
  x: array[1..n] of integer;
  i, k, d, s: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  k := 0; s := 0;
  for i := 1 to n do
  begin
    d := Random(11) - 5;
    Write(d:3);
    if (i mod 2) = 0 then begin { четное место }
      if d = 1 then Inc(k);
      x[i] := d
    end
    else begin
      if d < 0 then s := s + d;
      x[i] := sqr(d)
    end
  end;
  Writeln;
  Writeln('Результирующий массив');
  for i := 1 to n do Write(x[i]:3);
  Writeln;
  Writeln('Количество единиц на четных местах равно ', k);
  Writeln('Сумма отрицательных элементов на нечетных местах равна ', s)
end.

Тестовое решение:
Элементы массива
 -3  0 -5  1  5  1 -3 -4  5 -3 -2
Результирующий массив
  9  0 25  1 25  1  9 -4 25 -3  4
Количество единиц на четных местах равно 2
Сумма отрицательных элементов на нечетных местах равна -13
0,0(0 оценок)
Ответ:
код127
11.12.2022 12:13
Можно конечно поизвращаться и придумать интересный алгоритм, но можно просто написать в лоб цикл с проверкой.

#include <iostream>
int main(){
    int num_1, num_2;
    cin >> num_1 >> num_2;
    for (int i = num_1 + 1; i != num_2; i++) {
        int cur = i, num = i;
        int res = 0;
        while (cur != 0) {
            int mod_n = cur % 10;
            if (mod_n == 0) {
                break;
            }
            if (num % mod_n == 0) {
                res = 1;
            }
            else {
                res = 0;
                break;
            }
            cur /= 10;
        }
        if (res) {
            cout << i << ' ';
        }
    }
}

Коротко, в двух словах, о чем тут код. 
мы проходим по циклу от A до B, для каждого числа, в цикле проверяем, делится ли оно на цифры из которых состоит. Для этого мы запоминаем в отдельную переменную cur наше число, и проверяем остаток от деления на 10 (т.е. самую левую цифру), после мы в cur записываем тоже число, но без последней цифры.
на примере 124. проверяем на делимость на 4, потом запоминаем 12, проверяем на делимость на 2, потом запоминаем 1, проверяем на делимость на 1, потом записываем 0. Как только видим 0 прекращаем. 
Дальше в цикле есть проверка на то, что если хоть раз что-то не поделилось, то переходим к след. числу
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота