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

Преобразовать массив, умножив все отрицательные числа на минимальное число этого массива pascal abc

👇
Ответ:
vlad2217890
vlad2217890
01.01.2023
Const n=10;
Var a: array [1..n] of integer;
    i,min: integer;
Begin
For i:=1 to n do
a[i]:=Random(21)-10;
writeln ('Исходный массив: ');
for i:=1 to n do
write (a[i],' ');
writeln;
min:=a[1];
for i:=2 to n do
if a[i]<min then
min:=a[i];
writeln ('Минимальный элемент = ',min);
for i:=1 to n do
if a[i]<0 then
a[i]:=a[i]*min;
writeln ('Преобразованный массив:');
for i:=1 to n do
write (a[i], ' ');
end.
4,5(30 оценок)
Открыть все ответы
Ответ:
EcLIpsЕ
EcLIpsЕ
01.01.2023
//Школьный вариант с уродливым "пузырьком"
//Pascal ABC.NET 3.1 сборка 1256

Const
 n=10;
 m=20;
 z=30;

Var
 ar1:array[1..n] of integer;
 ar2:array[1..m] of integer;
 ar3:array[1..z] of integer;
 i,k,j:integer;
 b:boolean;

begin
randomize;
k:=-1;
b:=false;
  for i:=1 to n do
    ar1[i]:=random(20);
  for i:=1 to n-1 do
   for j:=i+1 to n do
    if ar1[i]>ar1[j] then swap(ar1[i],ar1[j]);
  writeln('Array 1:');
  for i:=1 to n do
   write(ar1[i]:4);
  writeln;
  for i:=1 to m do
    ar2[i]:=random(20);
  for i:=1 to m-1 do
   for j:=i+1 to m do
    if ar2[i]>ar2[j] then swap(ar2[i],ar2[j]);
    writeln('Array 2:');
  for i:=1 to m do
   write(ar2[i]:4);
  writeln;
  for i:=1 to z do
    ar3[i]:=random(20);
  for i:=1 to z-1 do
   for j:=i+1 to z do
    if ar3[i]>ar3[j] then swap(ar3[i],ar3[j]);
   writeln('Array 3:');
  for i:=1 to z do
   write(ar3[i]:4);
   for i:=1 to n do
    begin
     k:=-1;
     for j:=1 to m do
     if ar1[i]=ar2[j] then
       begin
       k:=ar1[i];
       break;
      end;
     if k=-1 then continue;
     for j:=1 to z do
     if k=ar3[j] then
      begin
       b:=true;
       break;
      end;
    if b=true then break;
   end;
 writeln;
 writeln('Result:');
 if b=false then writeln('Нет') else writeln(k);
end. 
4,7(78 оценок)
Ответ:
staylent
staylent
01.01.2023
Одно из "быстрых по написанию" решений, не учитывающих фактор наличия упорядоченности массивов. Это разумно: за решение - не та цена, за которую есть смысл составлять и отлаживать эффективный алгоритм поиска по упорядоченным массивам.

// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
  var x:=ArrRandom(ReadInteger('p='),-20,20).Sorted;
  var y:=ArrRandom(ReadInteger('q='),-10,15).Sorted;
  var z:=ArrRandom(ReadInteger('r='),1,18).Sorted;
  x.Println; y.Println; z.Println;
  var r:=x.Intersect(y.Intersect(z));
  if r.Count=0 then Writeln('Нет общих элементов')
  else begin Write ('Общие элементы: '); r.Println end
end.

Тестовое решение
p= 15
q= 13
r= 18
-19 -16 -15 -11 -7 -7 -2 0 0 2 4 7 10 14 20
-8 -6 -4 -4 -4 -3 -1 4 4 9 13 13 15
1 1 2 2 2 4 4 5 6 9 10 12 12 14 14 15 15 17
Общие элементы: 4
4,4(12 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ