Вычислить номер максимального по модулю элемента массива - Turbo Pascal (34002)

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

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

В одномерном массиве, состоящем из n вещественных элементов, вычислить 1 Номер максимального по модулю элемента массива. 2 Сумму элементов массива, расположенных после первого положительного элемента. Преобразовать массив такие образом, чтобы сначало располагались все элементы, целая часть которых лежит в интервале [а,б], а потом все остальные.

Решение задачи: «Вычислить номер максимального по модулю элемента массива»

textual
Листинг программы
const
  k = 10;
 
var
  B, C: array[1..100] of real;
  a, S, max: real;
  n, i, imax, p: integer;
  bln: boolean;
 
begin
  write('n = ');
  readln(n);
  write('a = ');
  readln(a);
  bln := true;
  S := 0;
  max := -k;
  write('Введим массив ', n, ' случайных вещественных чисел:');
  randomize;
  for i := 1 to n do begin
    b[i] := k * (2 * random - 1);
    write('  ', b[i]:0:3);
    if abs(b[i]) > max then begin
      max := abs(b[i]);
      imax := i
    end;
    if bln then begin
      if b[i] > 0 then bln := false
    end
    else S := S + b[i]    
  end;
  writeln;
  writeln('Номер максимального по модулю элемента: ', imax);
  writeln('Сумма элементов массива после 1-го положительного: ', S:0:3);
  writeln;
  p := 0;
 { Делаем преобразование: }
  for i := 1 to n do
    if ((int(b[i]) >= a)and(int(b[i]) <= 6)) then begin 
      inc(p);
      c[p] := b[i]
    end;
  for i := 1 to n do
    if ((int(b[i]) < a)or(int(b[i]) > 6)) then begin
      inc(p);
      c[p] := b[i]
    end;
  writeln('Выводим преобразованный массив:');
  for i := 1 to p do write('  ', c[i]:0:3);
end.

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

  1. Переменная k инициализируется значением 10.
  2. Создается переменная B, которая представляет собой массив из 100 элементов типа real.
  3. Создаются переменные a, S и max, которые инициализируются нулевыми значениями. Переменная max инициализируется отрицательным значением k.
  4. Запускается цикл чтения данных.
  5. В цикле считывается число n и число a.
  6. Переменная bln устанавливается в значение true.
  7. Переменная S инициализируется нулем.
  8. Переменная max устанавливается равной абсолютному значению b[i] для первого элемента массива.
  9. Считывается случайное число для каждого элемента массива от 0 до 100.
  10. Если абсолютное значение числа больше значения max, то обновляется значение max.
  11. Если число положительное, то устанавливается значение bln в false.
  12. Иначе, к сумме S добавляется значение числа.
  13. После завершения цикла, выводится номер максимального по модулю элемента и сумма элементов массива.
  14. Затем, выполняется преобразование массива.
  15. В цикле проверяется каждый элемент массива.
  16. Если элемент находится в диапазоне от a до 6, то его значение увеличивается на единицу и добавляется в массив c.
  17. Если элемент меньше a или больше 6, то его значение увеличивается на единицу и добавляется в массив c.
  18. После завершения цикла, выводится преобразованный массив.
  19. Для каждого элемента массива c выводится его значение.
  20. Конец программы.

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


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

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

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