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

Кто может решить по паскалю? 1)даны числа a1, получить в порядке возрастания (в новом массиве) все различные числа, входящие в a1,. 2)даны два набора чисел c1, cn и d1, d2, dm. соединить их в один массив f (только написать нужно чтобы числа в массив вводились вручную, а не рандоные)

👇
Ответ:
dariarez
dariarez
18.11.2020
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadArrInteger(ReadInteger('n='));
  var b:=a.Distinct.OrderBy(x->x).ToArray; b.Println
end.

Пример
n= 7
3 -5 6 3 3 4 1
-5 1 3 4 6

begin
  var n1:=ReadInteger('Длина первого массива-');
  var c:=ReadSeqInteger('Вводите массив:',n1).OrderBy(x->x).ToArray;
  var n2:=ReadInteger('Длина второго массива-');
  var d:=ReadSeqInteger('Вводите массив:',n2).OrderBy(x->x).ToArray;
  //собственно слияние
  var f:=new integer[n1+n2];
  var (ic,id,&if):=(0,0,0);
  repeat
    if c[ic]<d[id] then begin f[&if]:=c[ic]; ic+=1 end
    else begin f[&if]:=d[id]; id+=1 end;
    &if+=1
  until (ic=n1) or (id=n2);
  if ic=n1 then
    repeat
      f[&if]:=d[id]; id+=1; &if+=1
    until id=n2
  else
    repeat
      f[&if]:=c[ic]; ic+=1; &if+=1
    until ic=n1;
  Write('Массив F: '); f.Println(',')
end.

Пример
Длина первого массива- 6
Вводите массив: 4 0 -3 6 4 2
Длина второго массива- 5
Вводите массив: 3 6 -3 0 2
Массив F: -3,-3,0,0,2,2,3,4,4,6,6
4,6(69 оценок)
Открыть все ответы
Ответ:
Hamrod
Hamrod
18.11.2020
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
4,4(66 оценок)
Ответ:
NeSaRg00d04092003
NeSaRg00d04092003
18.11.2020
Const
  n = 20;

var
  T: array[1..n] of integer;
  i, k: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  k := 0;
  for i := 1 to n do
  begin
    T[i] := Random(11)-5;
    Write(T[i]:3);
    if ((i mod 2)<>0) and (T[i]=0) then Inc(k);
  end;
  Writeln;
  Writeln('Количество нулевых элементов на нечетных местах равно ',k);
end.

Тестовое решение:
Элементы массива
  2  5 -4  4  3 -2  5 -5 -1 -2  5  2  0 -5 -5 -4 -3  3  0  1
Количество нулевых элементов на нечетных местах равно 2

const
  n = 18;

var
  T: array[1..n] of integer;
  i: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  for i := 1 to n do
  begin
    T[i] := Random(51)-25;
    Write(T[i]:4);
  end;
  Writeln;
  Writeln('Результат');
  for i := 1 to n do
  begin
    if ((i mod 2)<>0) then T[i] := 0;
    Write(T[i]:4);
  end;
  Writeln;
end.

Тестовое решение:
Элементы массива
  23  -6   8  14  15  12 -24  20 -11  -7   4 -24  22 -19  12  -6  21  17
Результат
   0  -6   0  14   0  12   0  20   0  -7   0 -24   0 -19   0  -6   0  17
4,5(95 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ