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

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

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

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

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

textual
Листинг программы
  1. Var h,w:integer;
  2.     i,j:integer;    
  3.     min,max:integer;  
  4.     s:integer;    
  5.     a:array [1..100,1..100] of integer;
  6.    
  7. Begin
  8.  
  9.  writeln('Введите высоту и ширину матрицы: ');
  10.  readln(h,w);
  11.  
  12.  writeln('Введите [a,b]: ');
  13.  readln(min,max);
  14.  
  15.  //Заполнение
  16.  For i:=1 to h do
  17.   For j:=1 to w do
  18.    a[i,j]:=Random(10);
  19.  
  20.  write('Номера столбцов: ');
  21.  
  22.  For i:=1 to w do
  23.   begin
  24.    s:=0;
  25.    For j:=1 to h do s:=s+a[j,i];
  26.    if (s>=min) and (s<=max) then write(i,', ');
  27.   end;
  28.  
  29.  For i:=1 to h do
  30.   begin
  31.    writeln;
  32.    For j:=1 to w do
  33.    write(a[i,j]:2);
  34.   end;
  35.  
  36. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы