Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54

Слияние двух отсортированных последовательностей

19.11.2015, 17:40. Показов 3981. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с заданием ! Даны две последовательности a1≤a2... ≤an и b1≤b2...≤bm Образовать из них новую последовательность чисел так, чтобы она тоже была неубывающей. Примечание. Дополнительный массив не использовать.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2015, 17:40
Ответы с готовыми решениями:

Слияние двух массивов отсортированных по убыванию
Нужно написать прогу: Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы...

Слияние двух отсортированных по убыванию значений элементов файлов F1 и F2
Разработать программу слияния двух отсортированных по убыванию значений элементов файлов F1 и F2. Результатом слияния должен быть файл F3,...

Слияние двух массивов
Пользователем вводится два отсортированных в порядке возрастания одномерных массива. Выполнить их слияния в один массив, элементы которого...

19
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
19.11.2015, 17:46
наработки или идеи есть?
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
19.11.2015, 18:14  [ТС]
только на Pascal

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
uses crt;
const nmax=50;
var a,b,c:array[1..2*nmax] of integer;
    n,m,p,i,j,k:integer;
begin
clrscr;
repeat
write('Размер массива А до ',nmax,' n=');
readln(n);
until n in [1..nmax];
for i:=1 to n do
 begin
  a[i]:=3*i;{по возрастанию, можно по другому}
  write(a[i],' ');
 end;
writeln;
writeln;
repeat
write('Размер массива B до ',nmax,' n=');
readln(m);
until m in [1..nmax];
for i:=1 to m do
 begin
  b[i]:=2*i;
  write(b[i],' ');
 end;
writeln;
writeln;
{вставляем массив b в массив а}
p:=0;
for i:=1 to m do
if b[i]>=a[n] then{если больше последнего}
 begin
  n:=n+1;
  a[n]:=b[i];{добавляем в конец}
  p:=p+1;
  c[p]:=n;
 end
else{иначе}
 begin
  for j:=1 to n do{ищем место для вставки}
   if a[j]>=b[i] then
    begin
     n:=n+1;{увеличим размер}
     for k:=n downto j+1 do{сдвинем конец массива вправо на 1}
     a[k]:=a[k-1];
     a[j]:=b[i];{на освободившееся место вставляем}
     p:=p+1;
     c[p]:=j;
     break;{выходим из цикла поиска}
    end;
 end;
writeln('Результат:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('Элементы массива В вставлены на места');
for i:=1 to p do
write(c[i],' ');
readln
end.
0
19.11.2015, 18:20

Не по теме:

Мне нравится:
тема "Сортировка массивов C#" в разделе "Форум С++ для начинающих", наработки на Pascal

0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
19.11.2015, 18:23  [ТС]


Добавлено через 1 минуту
Очень нужна помощь !
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
19.11.2015, 18:41
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Linq;
 
namespace Program6
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = { 1, 3, 5, 7, 9 };
            int[] arr2 = { 0, 2, 4, 6, 8 };
            int[] arr3 = arr1.Concat(arr2).ToArray();
            Array.Sort(arr3);
            Console.WriteLine("Массив 1");
            Console.WriteLine(string.Join(" ", arr1));
            Console.WriteLine("Массив 2");
            Console.WriteLine(string.Join(" ", arr2));
            Console.WriteLine("Массив 3");
            Console.WriteLine(string.Join(" ", arr3));
            Console.ReadKey();
        }
    }
}
1
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
19.11.2015, 18:44  [ТС]
спасибо огромное ! А можно комментарии к коду ? Чтобы разобраться )
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
19.11.2015, 18:48
Лучший ответ Сообщение было отмечено LelikKO как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Linq;
 
namespace Program6
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = { 1, 3, 5, 7, 9 }; //массив 1
            int[] arr2 = { 0, 2, 4, 6, 8 }; //массив 2
            int[] arr3 = arr1.Concat(arr2).ToArray(); //объединяем массивы в массив 3
            Array.Sort(arr3); // сортируем по возрастанию
            Console.WriteLine("Массив 1"); //выводим фразу
            Console.WriteLine(string.Join(" ", arr1)); //выводим массив 1, соединенный в строку
            Console.WriteLine("Массив 2"); //выводим фразу
            Console.WriteLine(string.Join(" ", arr2)); //выводим массив 2, соединенный в строку
            Console.WriteLine("Массив 3"); //выводим фразу
            Console.WriteLine(string.Join(" ", arr3)); //выводим массив 3, соединенный в строку
            Console.ReadKey(); //ждем нажатия на anykey
        }
    }
}
1
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 01:42  [ТС]
Пишет что System.Array не сдержит определения для Concat и не был найден метод расширения Concat.
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
04.12.2015, 01:54
Вы, видимо, эту строчку пропустили
C#
1
using System.Linq;
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 02:02  [ТС]
пишет , что Linq отсутствует в пространстве имен System ((
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
04.12.2015, 02:02
Какая версия фреймворка?
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 02:10  [ТС]
4.5.50938
(2010 г)
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
04.12.2015, 02:18
Проект - свойства - требуемая версия .Net 4.5 стоит?
Попробуйте так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
 
namespace Program6
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = { 1, 3, 5, 7, 9 };
            int[] arr2 = { 0, 2, 4, 6, 8 };
            int[] arr3 = new int[arr1.Length + arr2.Length];
            Array.Copy(arr1, arr3, arr1.Length);
            Array.Copy(arr2, 0, arr3, arr1.Length, arr2.Length);
            Array.Sort(arr3);
            Console.WriteLine("Массив 1");
            Console.WriteLine(string.Join(" ", arr1));
            Console.WriteLine("Массив 2");
            Console.WriteLine(string.Join(" ", arr2));
            Console.WriteLine("Массив 3");
            Console.WriteLine(string.Join(" ", arr3));
            Console.ReadKey();
        }
    }
}
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 02:26  [ТС]
требуемая версия 3.0
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
04.12.2015, 02:28
Поставьте 3.5 или выше. Или вам необходимо под 3.0?
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 02:39  [ТС]
сейчас попробую !

Добавлено через 6 минут
ругается на string.Join
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
04.12.2015, 02:42
Нужен 4.0 и выше.
0
 Аватар для LelikKO
0 / 0 / 0
Регистрация: 24.09.2015
Сообщений: 54
04.12.2015, 02:46  [ТС]
Вы мой спаситель !!!!
0
298 / 260 / 108
Регистрация: 26.10.2012
Сообщений: 810
04.12.2015, 08:32
Это задача - часть алгоритма сортировки слиянием.
В инете можно найти кучу его реализаций
https://ru.wikipedia.org/wiki/... 0%B5%D0%BC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2015, 08:32
Помогаю со студенческими работами здесь

Слияние двух массивов
Начинаю изучать с# столкнулся в домашнем задании с этим....Необходимо совместить 2 массива. Как теперь сделать так, что бы происходило...

Слияние двух строк по словам в конце в первой и начале второй
нужно зделать програму что плюсует 2 строки , с выключениям одинаковых слов в конце 1-го с началом 2-го, например "А и Б сидели на...

Образовать из двух неубывающих последовательностей новую неубывающую последовательность
Доброго времени суток всем, Всех с наступающим Новым Годом. Помогите пожалуйста решить, очень нужно. Срочно. За ранее благодарен. Даны...

Слияние двух массивов введённых в консоли после их сортировки по убыванию и возрастанию
Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по...

Слияние отсортированных последовательностей
var C: array of integer; i, j, k: integer; begin var A := Arr(1, 6, 7); var B := Arr(2, 8, 12); SetLength(C,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru