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

Даны три массива а = (а1, а2, …, аn), b = (b1, b2, …, bm), c = (c1, c2, …, ck). (n, m и k < =20, вводятся с клавиатуры). написать программу для последовательного объедения этих трех массивов в один и сортировки полученного массива по возрастанию.

👇
Ответ:
Лешик2005
Лешик2005
28.04.2020
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
  var n:=ReadInteger('n=');
  var A:=ReadArrInteger('Массив А:',n);
  var m:=ReadInteger('m=');
  var B:=ReadArrInteger('Массив B:',m);
  var k:=ReadInteger('k=');
  var C:=ReadArrInteger('Массив C:',k);
  var D:=(A+B+C).Sorted;
  D.Println
end.

Тестовое решение
n= 5
Массив А: 7 11 -4 9 8
m= 3
Массив B: -5 -3 -8
k= 4
Массив C: 1 4 9 7
-8 -5 -4 -3 1 4 7 7 8 9 9 11
4,5(22 оценок)
Ответ:
frolovaasd2017
frolovaasd2017
28.04.2020
//Pascal ABC.NET 3.1 сборка 1219

Type
 ty=array[1..60] of integer;

Var
 a,b,c:array[1..20] of integer;
 ar:ty;
 n,m,k,i:integer;

procedure quicksort(var a:ty; Lo,Hi: integer);

procedure sort(l,r: integer);
var
i,j,x,y: integer;
begin
i:=l;
 j:=r;
 x:=a[random(r-l+1)+l];
repeat
while a[i]<x do
 i:=i+1;
 while x<a[j] do
 j:=j-1;
  if i<=j then
   begin
    if a[i] > a[j] then
     begin
      y:=a[i];
 a[i]:=a[j];
 a[j]:=y;
     end;
    i:=i+1;
 j:=j-1;
  end;
    until i>=j;
  if l<j then sort(l,j);
  if i<r then sort(i,r);
end;

begin;
  randomize;
  sort(Lo,Hi);
end;

 begin
 readln(n);
 for i:=1 to n do
 begin
  readln(a[i]);
  ar[i]:=a[i];
 end;
 readln(m);
 for i:=1 to m do
 begin
  readln(b[i]);
  ar[i+n]:=b[i];
 end;
 readln(k);
 for i:=1 to k do
 begin
  readln(c[i]);
  ar[i+n+m]:=c[i];
 end;
 quicksort(ar,1,n+m+k);
 writeln('Final array:');
 for i:=1 to n+m+k do
 write(ar[i]:4);
end.

Пример ввода:
3
1
2
3
3
1
2
3
3
1
2
3
Пример вывода:
Final array:
   1   1   1   2   2   2   3   3   3
4,6(7 оценок)
Открыть все ответы
Ответ:
Cole21
Cole21
28.04.2020

// PascalABC.NET

begin

 // 1

 var s1 := ReadlnString.Replace(' ','');

 s1.Println;

 // 2

 var m := ReadlnString.MatchValues('[AaBb]');

 if m.Count > 0 then

 begin

   var n := m.Count(c -> c.ToLower = 'a') -

       m.Count(c -> c.ToLower = 'b');

   case Sign(n) of

     -1: Println('В строке больше символов B');

     0: Println('В строке поровну символов A и B');

     1: Println('В строке больше символов A');

   end

 end

 else

   Println('В строке нет символов A или B');

 // 3

 var s2 := 'Казнить, нельзя помиловать';

 var i := Pos(',', s2);

 Delete(s2,i,1);

 i := Pos('я', s2);

 Insert(',', s2, i + 1);

 s2.Print

end.

4,7(45 оценок)
Ответ:
poli36914
poli36914
28.04.2020
2
Запишите десятичное число.
преобразуем десятичное число 98 в восьмеричное число.

3
Запишите степени 8. Запомните: в десятичной системе определенный разряд числа соответствует 10 в соответствующей степени. Например, есть разряд единиц, десятков и сотен. Вы можете указать эти разряды так: 100, 101, 102. В восьмеричной системе разряды числа соответствуют 8 в определенной степени. Запишите несколько разрядов в виде 8 в соответствующей степени, начиная с наибольшей. Обратите внимание, что эту запись вы делаете в десятичной системе счисления:
82 81 80
Возведите в степень:
64 8 1
Здесь мы ограничились 82, потому что 83 = 512, а это число больше данного нам числа (98), что противоречит правилам описываемого метода.

4
Разделите десятичное число на 8 в наибольшей степени. Нам дано число 98. В нем девять десятков, так как цифра 9 стоит в разряде десятков. Для преобразования числа в восьмеричную систему необходимо выяснить, сколько в нем 64; для этого разделите 98 на 64. Запишите операцию деления следующим образом:[2]
98
÷
64 8 1
=
1 ← - это первая цифра конечного восьмеричного числа.

5
Найдите остаток, если числа не делятся нацело. Запишите остаток в первой строке, но во втором столбце. В нашем примере: 98 ÷ 64 = 1 с остатком 34 (98 - 64 = 34).
98 34
÷
64 8 1
=
1

6
Разделите остаток на 8 в следующей по значению степени. То есть понизьте степень на единицу. Разделите остаток на полученное число; результат запишите во втором столбце.
98 34
÷ ÷
64 8 1
= =
1 4

7
Повторяйте описанный процесс до тех пор, пока не найдете окончательный ответ. Находите остаток и записывайте его в первой строке, но в новом столбце. Делите и находите остаток до тех пор, пока вы не разделите результат предыдущего деления на 80. В самой нижней строке вы получите число в восьмеричной системе счисления. Вот процесс вычисления в нашем примере (обратите внимание, что 2 — это остаток от 34 ÷ 8):
98 34 2
÷ ÷ ÷
64 8 1
= = =
1 4 2
ответ: 98 (в десятичной системе) = 142 (в восьмеричной системе). Вы можете записать ответ так: 9810 = 1428

8
Проверьте ответ. Для этого умножьте каждую цифру восьмеричного числа на 8 в соответствующей степени и сложите полученные результаты. В нашем примере:
2 x 80 = 2 x 1 = 2
4 x 81 = 4 x 8 = 32
1 x 82 = 1 x 64 = 64
2 + 32 + 64 = 98 — вы получили число, данное первоначально.

9
Решите следующую задачу: преобразуйте десятичное число 327 в восьмеричное. Получив ответ, выделите скрытый текст ниже, чтобы увидеть правильное решение.
Выделите пустые строки:
327 7 7
÷ ÷ ÷
64 8 1
= = =
5 0 7
ответ: 507.
(Кстати: в результате деления одного числа на другое вполне может получиться 0.)

Метод 2 из 2:
Остатки
Править

1
Возьмите любое десятичное число. Например, рассмотрим десятичное число 670.
При этого метода вы быстрее преобразуете десятичное число в восьмеричное, но его сложно понять (если это ваш случай, пользуйтесь методом 1).

2
Разделите десятичное число на 8. Сейчас игнорируйте десятичные значения. Мы покажем вам, насколько прост такой процесс вычисления.
В нашем примере: 670 ÷ 8 = 83.

3
Найдите остаток. Вы нашли, сколько 8 в данном вам числе, поэтому остаток — это цифра, которая записывается первой справа (разряд 80) в восьмеричном числе. Запомните: остаток всегда меньше 8.[3]
В нашем примере: 670 ÷ 8 = 83, остаток 6.
На данном этапе восьмеричное число имеет вид ???6.
Если в вашем калькуляторе есть функция (кнопка) mod, найдите это значение, нажав 670 mod 8.

4
Разделите результат предыдущего деления на 8. Забудьте про остаток и разделите результат предыдущего деления на 8. Запишите ответ и найдите остаток. Цифра остатка запишется второй справа (разряд 81 = 8) в восьмеричном числе.
В нашем примере результат предыдущего деления равен 83.
83 ÷ 8 = 10 остаток 3.
На данном этапе восьмеричное число имеет вид ??36.

5
Опять разделите результат предыдущего деления на 8. Запишите ответ и найдите остаток. Цифра остатка запишется третьей справа (разряд 82 = 64) в восьмеричном числе.
В нашем примере результат предыдущего деления равен 10.
10 ÷ 8 = 1 остаток 2.
На данном этапе восьмеричное число имеет вид ?236.
6
Найдите последнюю цифру. Для этого разделите результат предыдущего деления на 8. ответ будет равен 0, но вас интересует остаток. Цифра остатка запишется четвертой справа, и вы получите конечное восьмеричное число. [[[Image:Convert from Decimal to Octal Step 15 Version 2.jpg|center]]
В нашем примере результат предыдущего деления равен 1.
1 ÷ 8 = 0 остаток 1.
Конечное восьмеричное число: 1236. Вы можете записать его в виде 12368 (такая запись означает, что это число восьмеричной системы счисления) поняли изложенный процесс, читайте дальше.[4]
Представьте, что перед вами кучка из 670 спичек.
4,5(69 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ