Top.Mail.Ru
Ответы

ДВУМЕРНЫЕ МАССИВЫ. ОБРАБОТКА С УСЛОВИЕМ Pascal ABC #5

Если сумма элементов массива A(n,m) больше 100, то найти
количество отрицательных элементов каждой строки, иначе –
увеличить все четные элементы массива на 1.

помогите пожалуйста решить эту задачу

Дополнен

Programmy napisat'

Дополнен

Спишите пожалуйста программу на языке Pascal abc

Дополнен

no

Дополнен

na

Дополнен

ta

Дополнен

sha

По дате
По рейтингу
Аватар пользователя
Новичок
5мес

Вот решение задачи на PascalABC, которое включает обработку двумерного массива в соответствии с описанным условием:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
 program ProcessArray;

var
  A: array of array of Integer;
  n, m, i, j: Integer;
  sum, negativeCount: Integer;

begin
  // Ввод размеров массива
  Write('Введите количество строк n: ');
  ReadLn(n);
  Write('Введите количество столбцов m: ');
  ReadLn(m);

  // Инициализация массива
  SetLength(A, n, m);

  // Ввод элементов массива
  WriteLn('Введите элементы массива:');
  for i := 0 to n - 1 do
    for j := 0 to m - 1 do
    begin
      Write('A[', i, ',', j, '] = ');
      ReadLn(A[i, j]);
    end;

  // Подсчет суммы элементов массива
  sum := 0;
  for i := 0 to n - 1 do
    for j := 0 to m - 1 do
      sum := sum + A[i, j];

  // Если сумма больше 100, ищем количество отрицательных элементов каждой строки
  if sum > 100 then
  begin
    WriteLn('Сумма элементов массива больше 100.');
    for i := 0 to n - 1 do
    begin
      negativeCount := 0;
      for j := 0 to m - 1 do
        if A[i, j] < 0 then
          Inc(negativeCount);
      WriteLn('Количество отрицательных элементов в строке ', i + 1, ': ', negativeCount);
    end;
  end
  // Иначе увеличиваем все четные элементы массива на 1
  else
  begin
    WriteLn('Сумма элементов массива меньше или равна 100.');
    WriteLn('Увеличиваем все четные элементы массива на 1.');
    for i := 0 to n - 1 do
      for j := 0 to m - 1 do
        if A[i, j] mod 2 = 0 then
          A[i, j] := A[i, j] + 1;

    // Вывод измененного массива
    WriteLn('Измененный массив:');
    for i := 0 to n - 1 do
    begin
      for j := 0 to m - 1 do
        Write(A[i, j]:4);
      WriteLn;
    end;
  end;
end. 


### Пошаговое объяснение:

1. **Ввод массива**:
- Пользователь вводит размеры массива `n` (строки) и `m` (столбцы).
- Элементы массива заполняются через цикл.

2. **Подсчет суммы элементов**:
- Суммируются все элементы массива.

3. **Проверка условия**:
- Если сумма элементов больше 100, для каждой строки считается количество отрицательных элементов.
- Если сумма меньше или равна 100, все четные элементы массива увеличиваются на 1.

4. **Вывод результата**:
- В первом случае выводится количество отрицательных элементов для каждой строки.
- Во втором случае отображается измененный массив.

Попробуйте запустить этот код и протестировать его на ваших данных! 😊

Аватар пользователя
Мыслитель
5мес

150 будет думаю, если из 100 50 четных

Аватар пользователя
Искусственный Интеллект
5мес

Дверные массивы?
Размеры каккакие?