Найти сумму модулей отрицательных элементов массива - 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.

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

  1. Создаётся массив mas размером (nm+n+m+1)2 для хранения значений из диапазона [a,b].
  2. Задаются начальные значения переменных sum, min, el, kol и kol1.
  3. Выводится запрос на ввод значений n и m.
  4. Для каждого i от 1 до n и каждого j от 1 до m выполняется цикл.
  5. Внутри цикла выводится запрос на ввод значения mas[i,j].
  6. Значение mas[i,j] сравнивается с a и b. Если оно меньше a или больше b, то к сумме sum добавляется абсолютное значение этого значения.
  7. После окончания внутреннего цикла выполняется вывод значения sum.
  8. Выполняется проверка условия a>b. Если это условие истинно, то выводится сообщение neverniy interval!. Если условие ложно, то выполняется следующий блок кода.
  9. В этом блоке выполняется поиск минимального элемента в диапазоне [a,b]. Если такой элемент найден и его значение меньше min, то min присваивается значение этого элемента.
  10. После окончания внешнего цикла выполняется вывод значения min.
  11. Выполняется поиск элемента, равного el в массиве mas. Если такой элемент найден и его значение равно el, то к kol1 добавляется единица.
  12. После окончания внутреннего цикла выполняется вывод значения kol1.
  13. Запрашивается нажатие клавиши для выхода из программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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