4 / 3 / 1
Регистрация: 12.12.2019
Сообщений: 46

Слияние.Абстрактное слияние

16.04.2020, 14:19. Показов 654. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал код. Не корректно работает.Подскажите в чем причина может быть?Нужно написать код алгоритма слияния(абстрактно-обменное слияние) вот что есть
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
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
#include <iostream>
using namespace std;
 
void Func(int arr[], int arr1[], int arr_all[], int size, int size2, int size_all) {
    int l1 = 0; int tmp1; int tmp2; int tmp3;
    int r1 = size - 1;
    int l2 = 0;
    int r2 = size2 - 1;
    int l = 0;
    int r = size_all - 1;
    while ((l <= r)) {
        while (l1 <= r1) {
            while (l2 <= r2) {
                ///////////////////////////////////////////////////
 
                if (arr[l] > arr[l + 1]) {
                    tmp1 = arr[l + 1];
                    if (arr1[l] < arr[l + 1]) { tmp2 = arr1[l]; if (tmp1 > tmp2) { tmp3 = tmp2; arr_all[l] = tmp3; } else if (tmp1 < tmp2) { tmp3 = tmp1; arr_all[l] = tmp3; } }
                    else if (arr1[l] > arr1[l + 1]) {
                        tmp2 = arr1[l + 1]; if (tmp1 > tmp2) { tmp3 = tmp2; arr_all[l] = tmp3; }
                        else if (tmp1 < tmp2) { tmp3 = tmp1; arr_all[l] = tmp3; }
 
                    }
                    //////////////////////////////////////////////////////////////
                    else if (arr[l] < arr[l + 1]) {
                        tmp1 = arr[l];
                        if (arr1[l] < arr[l + 1]) { tmp2 = arr1[l]; if (tmp1 > tmp2) { tmp3 = tmp2; arr_all[l] = tmp3; } else if (tmp1 < tmp2) { tmp3 = tmp1; arr_all[l] = tmp3; } }
                        else if (arr1[l] > arr1[l + 1]) {
                            tmp2 = arr1[l + 1]; if (tmp1 > tmp2) { tmp3 = tmp2; arr_all[l] = tmp3; }
                            else if (tmp1 < tmp2) { tmp3 = tmp1; arr_all[l] = tmp3; }
                        }
                    }
                    /////////////////////////////////////////////////////////////
 
                    l = l + 1;
                }
 
 
 
 
            }
 
 
 
        }
 
 
 
    }cout << arr_all[l];
}
 
int main(){
    //int arr[] = { 4,2,7,1,23,1,23,1 };
    int* arr; int* arr1;
    int size;
    std::cout << "Size:";
    std::cin >> size;
    arr = new int[size];
    for (int i = 0; i < size; i++) { std::cout << "a[" << i << "]="; std::cin >> arr[i]; }std::cout << "{";
    for (int i = 0; i < size; i++) { std::cout << arr[i] << "\t"; }std::cout << "}-Array 1\n";
 
    int size2;
    std::cout << "Size:";
    std::cin >> size2;
    arr1 = new int[size2];
    for (int i = 0; i < size2; i++) { std::cout << "a2[" << i << "]="; std::cin >> arr1[i]; }std::cout << "{";
    for (int i = 0; i < size2; i++) { std::cout << arr1[i] << "\t"; }std::cout << "}-Array 2\n";
 
    int* arr_all;
    int size_all = size + size2;
    arr_all = new int[size];
    for (int i = 0; i < size; i++) { arr_all[i] = arr[i]; }
    for (int i = size; i < size_all; i++) { arr_all[i] = arr1[i - size]; }std::cout << "{";
    for (int i = 0; i < size_all; i++) { std::cout << arr_all[i] << "\t"; }std::cout << "}\n";
 
    Func(arr, arr1, arr_all, size, size2, size_all);
    delete[]arr, arr1, arr_all;
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.04.2020, 14:19
Ответы с готовыми решениями:

Слияние массивов
я новичек в программировании. Помогите пожалуйста решить слудеющию задачу на С++. Заданы три упорядоченных по возрастанию массива f,...

Бинарное слияние
Не получается реализовать алгоритм. Хелп плз. http://img246.imageshack.us/img246/6600/binslimf5.jpg Вот что у меня получается. ...

Слияние массивов на с++
Добродень всем.задача такая:массив структур размера N(в моем случае 100).разбить на ленты.т.о получается 10 лент по 10 элементов в каждой...

1
6771 / 4565 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
16.04.2020, 15:10
Цитата Сообщение от Igoryan222 Посмотреть сообщение
Написал код. Не корректно работает.Подскажите в чем причина может быть?Нужно написать код алгоритма слияния(абстрактно-обменное слияние) вот что есть
Цитата Сообщение от Igoryan222 Посмотреть сообщение
int* arr_all;
    int size_all = size + size2;
    arr_all = new int[size];
new int[size_all];

Добавлено через 2 минуты
Слияние делают обычно для сортированных массивов. А у тебя что?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.04.2020, 15:10
Помогаю со студенческими работами здесь

Слияние массивов
Получить массив С(k), упорядоченный по возрастанию, путем слияния массивов A(n) и B(m), упорядоченных перед этим по возрастанию, где k = n...

слияние списков
помогите с написание программы!!! нужно написать программу которая объединяет два упорядоченных списка в один. Функция merge должна...

Слияние массивов
Есть задача: Описать функцию, которая выполнит слияние двух массивов одинаковой длины в третьем (элементы первого и второго массивов в нем...

Слияние деревьев
Сижу, мучаюсь, не могу понять что подразумевается в задании о слиянии деревьев. Подвесить вершину второго дерева к какому-нить листу 1-го?...

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


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

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

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru