Другие языки программирования и технологии
Написать программу, которая формирует два массива чисел
Написать программу, которая формирует два массива чисел, упорядочивает их по возрастанию, а затем формирует упорядоченный по возрастанию массив, составленный из всех элементов первых двух массивов (слияние упорядоченных массивов). Подскажите пожалуйста как делать Решить на языке pascal
program N57135782;
var a,b:array[1..100] of integer;
c:array[1..200] of integer;
na,nb,nc,i,j,min,tmp:integer;
begin
write('Введите размер массива A: ');
readln(na);
write('Введите размер массива B: ');
readln(nb);
randomize;
writeln('Массив A:');
for i := 1 to na do
begin
a[ i ] := random(100);
write(a[ i ]:4);
end;
writeln;
writeln('Массив B:');
for i := 1 to nb do
begin
b[ i ] := random(100);
write(b[ i ]:4);
end;
writeln;
{Сортировка массива А методом выбора}
for i := 1 to na-1 do
begin
for j := i to na do
if (j=i) or (a[ j ] < a[min]) then
min := j;
tmp:=a[ i ];
a[ i ]:=a[min];
a[min]:=tmp;
end;
{Сортировка массива В методом вставки}
for i := 2 to nb do
begin
tmp:=b[ i ];
j := i-1;
while (j > 0) and (b[ j ] > tmp) do
begin
b[ j+1 ] := b[ j ];
dec(j);
end;
b[ j+1 ] := tmp;
end;
{Формирование С слиянием массивов А и В}
i := 1;
j := 1;
nc := 1;
while (i <= na) and (j <= nb) do begin
if a[ i ] < b[ j ] then begin
c[nc] := a[ i ];
inc(i);
end else begin
c[nc] := b[ j ];
inc(j);
end;
inc(nc);
end;
for tmp := i to na do begin
c[nc] := a[tmp];
inc(nc);
end;
for tmp := j to nb do begin
c[nc] := b[tmp];
inc(nc);
end;
writeln('Отсортированный массив A:');
for i := 1 to na do
write(a[ i ]:4);
writeln;
writeln('Отсортированный массив B:');
for i := 1 to nb do
write(b[ i ]:4);
writeln;
writeln('Mассив C:');
for i := 1 to nc-1 do
write(c[ i ]:4);
readln
end.
var a,b:array[1..100] of integer;
c:array[1..200] of integer;
na,nb,nc,i,j,min,tmp:integer;
begin
write('Введите размер массива A: ');
readln(na);
write('Введите размер массива B: ');
readln(nb);
randomize;
writeln('Массив A:');
for i := 1 to na do
begin
a[ i ] := random(100);
write(a[ i ]:4);
end;
writeln;
writeln('Массив B:');
for i := 1 to nb do
begin
b[ i ] := random(100);
write(b[ i ]:4);
end;
writeln;
{Сортировка массива А методом выбора}
for i := 1 to na-1 do
begin
for j := i to na do
if (j=i) or (a[ j ] < a[min]) then
min := j;
tmp:=a[ i ];
a[ i ]:=a[min];
a[min]:=tmp;
end;
{Сортировка массива В методом вставки}
for i := 2 to nb do
begin
tmp:=b[ i ];
j := i-1;
while (j > 0) and (b[ j ] > tmp) do
begin
b[ j+1 ] := b[ j ];
dec(j);
end;
b[ j+1 ] := tmp;
end;
{Формирование С слиянием массивов А и В}
i := 1;
j := 1;
nc := 1;
while (i <= na) and (j <= nb) do begin
if a[ i ] < b[ j ] then begin
c[nc] := a[ i ];
inc(i);
end else begin
c[nc] := b[ j ];
inc(j);
end;
inc(nc);
end;
for tmp := i to na do begin
c[nc] := a[tmp];
inc(nc);
end;
for tmp := j to nb do begin
c[nc] := b[tmp];
inc(nc);
end;
writeln('Отсортированный массив A:');
for i := 1 to na do
write(a[ i ]:4);
writeln;
writeln('Отсортированный массив B:');
for i := 1 to nb do
write(b[ i ]:4);
writeln;
writeln('Mассив C:');
for i := 1 to nc-1 do
write(c[ i ]:4);
readln
end.
Похожие вопросы
- Напишите программу, которая находит в массиве количество элементов, равных заданному значению X .
- Как написать программу, которая будет представлять вещественное число в памяти компьютера
- Напишите программу, которая находит максимальное среди чисел, записанных в файле, и выводит результат в другой файл.
- 1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
- Необходимо написать кусок кода, который формирует новый массив из исходного.
- аскаль. Написать программу которая переводит число из одной системы счисления в другую
- Написать программу работы с одномерным массивом из 15 вещественных элементов для решения задач:
- Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при эт
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- Помогите! Информатика. Вводится пять чисел. Написать программу, которая вычисляет сумму всех четных из них.