Дан массив целых чисел (N=15), заполненный случайным образом числами из промежутка [-25, 31].- удалить из него все элементы, в которых предпоследняя цифра четная.- вставить число k перед всеми элементами, в которых есть цифра 3(k вводить с клавиатуры).- заменить часть массива между элементами с номерами k1 и k2, включая их, нулями. Сделать проверку корректности ввода k1 и k2; если ввод неправильный, то ничего не делать — Pascal(Паскаль)

uses crt;
const n=15;
var a:array[1..n*2] of integer;
    m,i,j,k,k1,k2,f:byte;
    b:integer;
begin
clrscr;
randomize;
m:=n;
writeln('Исходный массив:');
for i:=1 to m do
 begin
  a[i]:=random(57)-25;
  write(a[i]:4);
 end;
writeln;
writeln;
write('Введите число для вставки k=');
readln(k);
i:=1;f:=0;
while i<=m do
 begin
  b:=abs(a[i]);
  if(b div 10=3)or(b mod 10=3)then
   begin
    m:=m+1;
    f:=1;
    for j:=m downto i+1 do
    a[j]:=a[j-1];
    a[i]:=k;
    i:=i+2;
   end
  else i:=i+1;
 end;
if f=0 then writeln('В массиве нет чисел, имеющих цифру 3!')
else
 begin
  writeln('Вставки числа ',k);
  for i:=1 to m do
  write(a[i]:4);
  writeln;
 end;
write('Нажмите Enter...');
readln;
writeln;
writeln('Введите интервал индексов для замены нолями:');
readln(k1,k2);
if(k1<1)or(k2>m)or(k2<=k1) then
 begin
  writeln('Интервал введен неверно!');
  writeln('Работа программы завершена.');
  readln;
  exit;
 end
else
 begin
  writeln('Замена на ноли элементов с индексами от ',k1,' до ',k2);
  for i:=1 to m do
   begin
    if(i>=k1)and(i<=k2) then a[i]:=0;
    write(a[i]:4);
   end;
  readln;
 end;
end.

Leave a Comment

48 − = 38