М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lddld
lddld
26.01.2022 09:16 •  Информатика

Сделать это в pascal, чтобы можно было выполнить все условия используя следующий фрагмент программы, преобразуйте массив x по указанному ниже правилу, воспользовавшись массивом y как : var х, у: array [1..70] of real; k: 1..69; а) все отрицательные элементы массива x перенесите в его начало, а все остальные — в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов; б) элементы массива х циклически сдвиньте на k позиций влево.

👇
Ответ:
rekomc
rekomc
26.01.2022
{Используя следующий фрагмент программы, преобразуйте массив x по указанному ниже правилу,
воспользовавшись массивом y как вс
а) все отрицательные элементы массива x перенесите в его начало,
а все остальные — в конец, сохраняя исходное взаимное
расположение как среди отрицательных, так и среди остальных элементов;
б) элементы массива х циклически сдвиньте на k позиций влево.}
Var
 x, y: array [1..70] of real;
 k: 1..69;
 n, i,j,  k1: integer;
 c :real;
begin
 writeln('введите кол-во элементов массива');
 readln(n);
 writeln('введите элементы массива');
 for i:=1 to n do read(x[i]);
 k1:=0;
{все отрицательные элементы массива x перенесите в начало массива y}
 for i:=1 to n do
 if x[i]<0 then
 begin
   k1:=k1+1;
   y[k1]:=x[i]
 end;
{все не отрицательные элементы массива x переносим в конец массива y}
 for i:=1 to n do
 if x[i]>=0 then
 begin
   k1:=k1+1;
   y[k1]:=x[i]
 end;

 for i:=1 to n do
   x[i]:=y[i];
 for i:=1 to n do
   write(x[i]:8:2);

{б) элементы массива х циклически сдвиньте на k позиций влево.}
 writeln('введите k');
 readln(k);
 for i:=1 to n do y[i]:=x[i];
 for i:=1 to n-k do x[i]:=x[i+k];
 for i:=1 to k do x[n-k+i]:=y[i];
 for i:=1 to n do write(x[i]:8:2);
end.
4,6(69 оценок)
Открыть все ответы
Ответ:
1.
begin
write('  ');
var P:=ArrRandom(10,10,90).Println('     ');
var T:=P.Select((x,k)->(k+1) mod 2=0?real(x*(k+1)):real(x/(k+1))).ToArray;
for var i:=0 to T.Length-1 do write(T[i]:7:2);
end.

Пример:
  50     37     37     15     40     86     64     41     53     46
  50.00  74.00  12.33  60.00   8.00 516.00   9.14 328.00   5.89 460.00

2.
begin
var k:=ReadInteger('k = ');
var a:=ArrRandom(10,-20,20).Println;
var m:=a.Where(x->x<0).Max;
writeln('Макс.отрицательное = ',m,', ',m,'*',k,'=',m*k);
end.

Пример:
k =  5
15 10 -7 -13 -4 16 -12 -2 9 -12
Макс.отрицательное = -2, -2*5=-10
4,7(69 оценок)
Ответ:
влад2306
влад2306
26.01.2022

const

  n = 10; //количество элементов массива

var 

  a: array [1..n] of real;

  i: integer;

 

begin

  for i:= 1 to n do 

  begin

    writeln('Введите ', i, ' элемент массива');

    readln(a[i]); //вводим очередной элемент массива

  end;

  write('Исходный массив: ');

  for i:= 1 to n do 

    write(a[i], '  '); //Выводим исходный массив

  writeln; //Перевод на новую строку

  write('Полученный массив: ');

  for i:= 1 to n do

  begin 

    a[i]:= a[i] * a[n]; //элемент массива умножаем на последний элемент

    write(a[i], '  '); //выводим полученный элемент массива

  end;

end.

4,4(52 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ