Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
nkSuefa
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 28
#1

Даны три целочисленных массива А, В и С размера NА, NВ, NС соответственно, элементы которых упорядочены по убыванию - Pascal

18.01.2018, 10:39. Просмотров 188. Ответов 2
Метки нет (Все метки)

Даны три целочисленные массивы А, В и С размера NА, NВ, NС соответственно, элементы
которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий
целочисленный массив D (размера Na + NВ + NС) остался упорядоченным по убыванию.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2018, 10:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Даны три целочисленных массива А, В и С размера NА, NВ, NС соответственно, элементы которых упорядочены по убыванию (Pascal):

Даны три массива А, В и C. Сформировать массивы А1, В1 и С1, содержащие положительные нечетные элементы массивов А, В и С соответственно.
Даны три массива А, В и C. Сформировать массивы А1, В1 и С1, содержащие...

Найти количество строк заданного массива, элементы которых упорядочены по убыванию
Дан двумерный массив размером m*n.Найти количество строк заданного массива,...

Составить процедуру определяющую, что все элементы одномерного массива упорядочены по убыванию их значений
program rf; uses crt; type mas = array of integer; var a, b: mas; i,...

Даны три массива. Заменить в каждом элементы с чётными индексами на значение последнего элемента в массиве
Добрый день форумчане, кто знает как делать, помогите решить. Благодарю...

Дана матрица размера mxn найти количество ее столбцов, элементы которых упорядочены по убыванию
как довести эту задачу до ума дана матрица размера mxn найти количество ее...

Определить количество столбцов массива, элементы которых упорядочены строго по убыванию
Дан двумерный массив. Определить количество столбцов этого массива, элементы...

2
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
3858 / 2845 / 3631
Регистрация: 05.06.2014
Сообщений: 13,943
18.01.2018, 13:42 #2
http://www.cyberforum.ru/turbo-pascal/thread317699.html
0
Puporev
Модератор
54135 / 41768 / 28876
Регистрация: 18.05.2008
Сообщений: 98,305
18.01.2018, 14:05 #3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
const nmax=20;
type mas=array[1..nmax] of integer;
{ввод массивов}
procedure Vvod(var a:mas;var n:integer;c:char);
var i:integer;
begin
repeat
write('Введите размер массива ',c,' от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
for i:=1 to n do
a[i]:=random(50);
end;
{сортировка по убыванию}
procedure Sort(var a:mas;n:integer;c:char);
var i,j,x:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Массив ',c);
for i:=1 to n do
write(a[i]:3);
writeln;
end;
{слияние двух массивов}
procedure Merge(a,b:mas;na,nb:integer;var c:mas; var nc:integer);
var i,j:integer;
begin
i:=1; j:=1; nc:=0; {устанавливаем счётчики}
while (i<=na) or (j<=nb) do {пока не дошли до конца каждого из массивов}
  begin
   if (i<=na) and (j<=nb) then {если оба массива ещё не закончились}
     begin
       if a[i]<b[j] then {то пишем в новый массив меньший из текущих элементов}
        begin
         inc (nc); {переходим к следующему элементу конечного массива}
         c[nc]:= a[i];
         inc (i); {переходим к следующему элементу соответствующего массива}
        end
       else
        begin
         inc (nc);
         c[nc]:= b[j];
         inc (j);
         end
     end
   else if j>nb then {иначе один из массивов уже закончился}
     begin {и мы пишем из того, в котором ещё есть элементы}
       inc (nc);
       c[nc]:= a[i];
       inc (i);
       end
   else if i>na then
     begin
       inc (nc);
       c[nc]:= b[j];
       inc (j);
     end;
  end;
end;
var a,b,c,p,d:mas;
    na,nb,nc,np,nd,i,j:integer;
begin
randomize;
vvod(a,na,'A');
vvod(b,nb,'B');
vvod(c,nc,'C');
Sort(a,na,'A');
Sort(b,nb,'B');
Sort(c,nc,'C');
Merge(a,b,na,nb,p,np);
Merge(p,c,np,nc,d,nd);
{удалим повторы}
i:=2;
while i<=nd do
if d[i]=d[i-1] then
 begin
  if i=nd then nd:=nd-1
  else
   begin
    for j:=i to nd-1 do
    d[j]:=d[j+1];
    nd:=nd-1;
   end;
 end
else i:=i+1;
writeln('Результат слияния:');
for i:=1 to nd do
write(d[i]:3);
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2018, 14:05
Привет! Вот еще темы с решениями:

Даны три файла вещественных чисел с именами S1, S2 и S3, элементы которых упорядочены по убыванию. Объединить эти файлы в новый файл с именем S4 так,
Даны три файла вещественных чисел с именами S1, S2 и S3, элементы которых...

Даны два массива A и B, элементы которых упорядочены по возрастанию
Помогите пожалуйста! Даны два массива A и B, элементы которых упорядочены по...

Даны три переменные: X, Y, Z. Если их значения упорядочены по убыванию, то удвоить их
Условные операторы - Даны три переменные: X, Y, Z. Если их значения упорядочены...

Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или убыванию, то удвоить их
Даны три переменные: X, Y, Z. Если их значения упорядочены по возрастанию или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru