Найти и напечатать номера столбцов матрицы, сумма элементов которых попадает в заданный интервал - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

в целочисленной матрице найти и напечатать номера столбцов сумма элементов которых попадает в заданный отрезок [a,b]

Решение задачи: «Найти и напечатать номера столбцов матрицы, сумма элементов которых попадает в заданный интервал»

textual
Листинг программы
Var h,w:integer;
    i,j:integer;    
    min,max:integer;  
    s:integer;    
    a:array [1..100,1..100] of integer;
    
Begin
 
 writeln('Введите высоту и ширину матрицы: ');
 readln(h,w);
 
 writeln('Введите [a,b]: ');
 readln(min,max);
 
 //Заполнение 
 For i:=1 to h do
  For j:=1 to w do
   a[i,j]:=Random(10);
 
 write('Номера столбцов: ');
 
 For i:=1 to w do
  begin
   s:=0;
   For j:=1 to h do s:=s+a[j,i];
   if (s>=min) and (s<=max) then write(i,', ');
  end;
 
 For i:=1 to h do
  begin
   writeln;
   For j:=1 to w do
   write(a[i,j]:2);
  end; 
 
End.

Объяснение кода листинга программы

В данном коде на языке PascalABC.Net:

  1. Var h, w: integer; i, j: integer; min, max: integer; s: integer; a: array [1..100,1..100] of integer;
    • Объявляются переменные для высоты и ширины матрицы (h, w), для индексов (i, j), для минимального и максимального значения (min, max) и для суммы элементов (s).
    • Объявляется двумерный массив a размером 100x100 для хранения целочисленных значений.
  2. Begin
    • Начало выполнения программы.
  3. writeln('Введите высоту и ширину матрицы: ');
    • Пользователю предлагается ввести высоту и ширину матрицы.
  4. readln(h, w);
    • Считываем значения переменных h и w с помощью функции readln().
  5. writeln('Введите [a,b]: ');
    • Пользователю предлагается ввести минимальное и максимальное значение.
  6. readln(min, max);
    • Считываем значения переменных min и max с помощью функции readln().
  7. For i:=1 to h do
    • Заполнение матрицы случайными значениями от 0 до 9.
  8. For j:=1 to w do a[i,j]:=Random(10);
    • Два вложенных цикла заполняют матрицу случайными значениями от 0 до 9.
  9. write('Номера столбцов: ');
    • Выводим заголовок для списка номеров столбцов.
  10. For i:=1 to w do begin
    • Начинаем цикл для каждого столбца.
  11. s:=0;
    • Инициализируем переменную s для хранения суммы элементов текущего столбца.
  12. For j:=1 to h do s:=s+a[j,i];
    • Суммируем элементы текущего столбца.
  13. if (s>=min) and (s<=max) then write(i,', ');
    • Проверяем условие, если сумма элементов попадает в заданный интервал, выводим номер столбца.
  14. For i:=1 to h do begin
    • Выводим список всех элементов матрицы, читая каждую строку.
  15. writeln;
    • Переход на новую строку.
  16. For j:=1 to w do write(a[i,j]:2);
    • Выводим значения элементов матрицы в формате двузначного числа.
  17. End;
    • Конец выполнения программы.

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы