М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Дан целочисленный прямоугольный массив 6x10. опишите в программе "паскальавс" алгоритм вычисления количества положительных элементов в каждой строке этого массива

👇
Ответ:
KatyaKuxar
KatyaKuxar
13.04.2023
Const
   N = 6;
   M = 10;
Var
   A:array[1..N,1..M] of integer;
   i,j,k:integer;
Begin
Randomize;
WriteLn('Исходный массив(',N,',',M,'):');
For i:= 1 to N do
    Begin
    k:=0;
    For j:= 1 to M do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:4);
        if A[i,j] > 0 then k:=k+1;
        End;
    WriteLn(', k = ',k)
    End;
End.

Пример работы программы:

Исходный массив(6,10):
   8   5  -1  -1  -2 -10  10  -8  -7   5, k = 4
   8   3   2   5   5   6  -2   3   1   1, k = 9
   1   7   7   4  10   1   6   7   7  10, k = 10
  10  -4  -8  -8   4   4  -3   0   3  -7, k = 4
  -6  -3   1   7  -7   7   2  -1   7  -5, k = 5
   6   5  -6   5   7 -10   9   5   0   7, k = 7
4,4(17 оценок)
Открыть все ответы
Ответ:
lisafoxxxxxxxx
lisafoxxxxxxxx
13.04.2023
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
const
  КолСтрок=3;
  КолСтолбцов=5;
begin
  var Массив: array [1..КолСтрок,1..КолСтолбцов] of integer;
  var СуммыПоСтрокам: array[1..КолСтолбцов] of integer;
  Writeln('Введите элементы массива (',КолСтрок,',',
    КолСтолбцов,') построчно:');
  for var строка:=1 to КолСтрок do
    for var столбец:=1 to КолСтолбцов do begin
      Read(Массив[строка,столбец]);
      СуммыПоСтрокам[строка]+=Массив[строка,столбец]
      end;
  Writeln('Суммы построчно:');
  for var строка:=1 to КолСтрок do Print(СуммыПоСтрокам[строка])
end.

Тестовое решение
Введите элементы массива (3,5) построчно:
7 -5 13 19 -11
8 23 -15 -6 0
12 -6 -9 0 12
Суммы построчно:
23 10 9
4,6(95 оценок)
Ответ:
1. Короткий современный вариант ("один оператор")

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
  Writeln('Sпол.неч = ',ArrRandom(50,-10,20).Println
    .Where((x,i)->(x>0) and (i.IsEven)).Sum)
end.

Тестовое решение
15 16 0 17 20 7 -3 -4 9 9 -3 -8 14 10 10 11 7 18 -8 8 0 15 1 4 11 1 9 -10 -7 -7 12 17 8 13 7 15 1 13 12 11 4 -5 -3 -6 -5 -10 -9 -8 8 -8
Sпол.неч = 148

2. Длинный "школьный" вариант ("почувствуйте разницу")

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
var
  a:array[1..50] of integer;
  i,s:integer;
begin
  Randomize;
  s:=0;
  for i:=1 to 50 do begin
    a[i]:=Random(31)-10; Write(a[i],' ');
    if (a[i]>0) and Odd(i) then s:=s+a[i]
    end;
  Writeln;
  Writeln('Sпол.неч = ',s)
end.

Тестовое решение
4 14 4 7 9 -4 3 6 20 -10 3 -3 15 12 9 0 3 12 13 -1 9 -2 -2 16 18 -2 5 9 17 -3 4 -6 10 10 -5 10 8 13 12 15 13 1 12 1 7 6 9 2 -9 -6
Sпол.неч = 207
4,7(25 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ