Найти сумму модулей отрицательных элементов массива - Turbo Pascal
Формулировка задачи:
Составить программу, позволяющую в одномерном массиве, состоящем из N вещественных элементов, вычислить:
a) сумму модулей отрицательных элементов массива;
b) количество элементов массива, не принадлежащих интервалу (a, b);
c) наименьший из элементов массива, принадлежащих отрезку [a, b];
d) количество элементов массива, равных первому элементу;
Задачу можно решить одной программой.
Решение задачи: «Найти сумму модулей отрицательных элементов массива»
textual
Листинг программы
uses crt; var mas:array[1..100,1..100]of real; i,j,n,m,a,b,kol,kol1:integer; sum,min,el:real; begin clrscr; write('n='); read(n); write('m='); read(m); for i:=1 to n do for j:=1 to m do begin write('mas[',i,',',j,']='); read(mas[i,j]); end; writeln; for i:=1 to n do begin for j:=1 to m do write(mas[i,j]:2:2,' '); writeln; end; writeln; write('a='); read(a); write('b='); read(b); sum:=0; kol:=0; for i:=1 to n do for j:=1 to m do if mas[i,j]<0 then sum:=sum+abs(mas[i,j]); writeln('a) summa =',sum); if a>b then writeln('neverniy interval!') else begin for i:=1 to n do for j:=1 to m do if (mas[i,j]<a)or(mas[i,j]>b) then kol:=kol+1; writeln('b) kol-vo elementov ne (a,b)=',kol); min:=1000; for i:=1 to n do for j:=1 to m do if (mas[i,j]>=a)and(mas[i,j]<=b)and(mas[i,j]<min) then min:=mas[i,j]; writeln('c) min iz otrezka [a,b] =',min:2:2); end; kol1:=0; el:=mas[1,1]; for i:=1 to n do for j:=1 to m do if mas[i,j]=el then kol1:=kol1+1; writeln('d) kol-vo ',el:2:2,' = ',kol1); readkey; end.
Объяснение кода листинга программы
- Создаётся массив mas размером (nm+n+m+1)2 для хранения значений из диапазона [a,b].
- Задаются начальные значения переменных sum, min, el, kol и kol1.
- Выводится запрос на ввод значений n и m.
- Для каждого i от 1 до n и каждого j от 1 до m выполняется цикл.
- Внутри цикла выводится запрос на ввод значения mas[i,j].
- Значение mas[i,j] сравнивается с a и b. Если оно меньше a или больше b, то к сумме sum добавляется абсолютное значение этого значения.
- После окончания внутреннего цикла выполняется вывод значения sum.
- Выполняется проверка условия a>b. Если это условие истинно, то выводится сообщение
neverniy interval!
. Если условие ложно, то выполняется следующий блок кода. - В этом блоке выполняется поиск минимального элемента в диапазоне [a,b]. Если такой элемент найден и его значение меньше min, то min присваивается значение этого элемента.
- После окончания внешнего цикла выполняется вывод значения min.
- Выполняется поиск элемента, равного el в массиве mas. Если такой элемент найден и его значение равно el, то к kol1 добавляется единица.
- После окончания внутреннего цикла выполняется вывод значения kol1.
- Запрашивается нажатие клавиши для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д