Найти номер минимального по модулю элемента массива - Turbo Pascal

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


textual

Код:

uses crt;
const nmax=100;
var x:array[1..nmax] of integer;
    n,i,j,k,nmn,i1,s,a,b:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
i1:=0;
for i:=1 to n do
 begin
  x[i]:=-25+random(50);
  if i=1 then nmn:=1
  else if abs(x[i])<abs(x[nmn]) then nmn:=i;
  if (x[i]<0)and(i1=0)then i1:=i;
  write(x[i]:4);
 end;
writeln;
writeln('Номер минимального по модулю элемента=',nmn);
if i1=0 then writeln('В массиве нет отрицательных элементов')
else
 begin
  writeln('Номер первого отрицательного=',i1);
  if i1=n then s:=0
  else
   begin
    s:=0;
    for i:=i1+1 to n do
    s:=s+abs(x[i])
   end;
  writeln('Сумма модулей после первого отрицательного=',s);
 end;
repeat
writeln('Введите диапазон чисел a,b');
readln(a,b);
until b>a;
i:=1;
k:=0;
while i<=n do
if (x[i]>=a)and(x[i]<=b) then
 begin
  k:=k+1;
  if i=n then n:=n-1
  else
   begin
    for j:=i to n-1 do
    x[j]:=x[j+1];
    n:=n-1;
   end;
 end
else i:=i+1;
if k=0 then write('Нет элементов из интервала [',a,';',b,']')
else
 begin
  writeln('Удаление элементов из интервала [',a,';',b,']');
  for i:=1 to k do
   begin
    n:=n+1;
    x[n]:=0;
   end;
  for i:=1 to n do
  write(x[i]:4)
 end;
readln
end.


Похожие ответы
  1. вывести фамилии, имена и отчества всех студентов мужского пола, старших 18 лет. Должна вводиться информация о студентах(фамилии, имена, отчества, пол, возраст).

  1. Два нечетных простых числа, разность между которыми равна 2, называются близнецами. На интервале от 1 до 1000 найти всех близнецов и подсчитать количество пар. Необходимо сделать ,используя только циклы ,а без функций и процедур я хз как(

  1. Ввести с клавиатуры одномерный массив из 5 чисел , подсчитать сумму элементов больше нуля и вывести результат на экран монитора.

  1. Ввести с клавиатуры двумерный массив из 9 чисел, подсчитать сумму элементов всего массива

  1. Здравствуйте) Помогите пожалуйста определиться, что конкретно нужно сделать в задаче: Записать указанное действие в виде одного условного оператора: arcsin(1+ln x)=a, если такой существует. Я само условие не могу понять Как должна работать программа (у меня пока два варианта):Вводятся (с клавиатуры) a и x, в условном операторе проверяется равенство и выводится соответственно true или false Вводится x (с клавиатуры) и если x>0 вычисляется a, иначе сообщение, что a невозможно вычислить (из-за отрицательного значения в логарифме) Какой вариант решения выбрать? Или меня совсем не в ту степь понесло?

  1. Есть процедура на Pascal (посчитует суму в кажой строке матрицы)

  1. Создать текстовый файл, в который записать в столбик несколько чисел (<20). Составить программу, которая подсчитывала бы количество чисел в файле, а затем дописывала бы в его конец столько случайных чисел, чтобы всего чисел оказалось 20. Кроме того, программа должна найти минимальное и максимальное число в полученном файле.

  1. По введенным значениям аргумента х вычислить значение функции, заданной графически.Помогите пожалуйста написать программу в Паскале

  1. Создать модуль, дополняющий математические возможности Паскаля функциями для нахождения площади треугольника: «sGeron» - по известным трем сторонам, «sH» - по известным высоте и стороне основания, «Salfa» - по двум сторонам и углу между ними. Составить программу, которая использует данный модуль.

  1. Вот предложение: "Дана строка. Группы символов, разделенные пробелами и не содержащие пробелы внутри себя, будем называть словами." Написать программу, удаляющую в каждом слове повторяющиеся символы.