Форум программистов, компьютерный форум CyberForum.ru

Пытаюсь реализовать сортировку слиянием (выскакивает ошибка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ . Дана матрица А[5,4]. Поменять местами столбцы, содержащие наибольший и наименьший элементы http://www.cyberforum.ru/cpp-beginners/thread852166.html
. Дана матрица А. Поменять местами столбцы, содержащие наибольший и наименьший элементы.
C++ Не переименовывает файл void deleteFILE(char filename) { char gr; setlocale(LC_ALL,"Russian"); ifstream in("examen.txt",ios_base::binary); ofstream out("buf.txt",ios_base::binary); fflush(stdin); cout<<"Введите группу"<<endl; gets(gr); while( in.read((char*)&timelable,sizeof(timelable))); { http://www.cyberforum.ru/cpp-beginners/thread852164.html
Учебник по массивам C++
Посоветуйте учебник по решению задач с массивами на с++
C++ friend и member функции
Народ, объясните пожалуйста как пишутся данные функции, принцип их написания, откуда что берется. И несколько примеров пожалуйста. Желательно с кодом для *.h
C++ Мнимая единица http://www.cyberforum.ru/cpp-beginners/thread852119.html
Как умножить на мнимую единицу, она же равна корень из (-1).
C++ Отличие динамического от статического объекта Вопрос, в универе проходим динамические объекты(классы, структуры). И я вот не пойму... В чем разница динамического от статического класса или структуры. Когда мы используем массив там понятно, если элементы выходят за границы массива он расширяется, но для чего делать динамические классы? Что это даёт?! подробнее

Показать сообщение отдельно
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
01.05.2013, 09:58     Пытаюсь реализовать сортировку слиянием (выскакивает ошибка)
12345678, вот еще вариант, хотя все правильно сортирует

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
#include <iostream>
#include <fstream>
using namespace std;
 
int const size(10);
 
void Merge(int A[], int B[], int C[])
{ //Выполнить слияние массива A, содержащего nA элементов,
  //  и массива B, содержащего nB элементов.
  //  Результат записать в массив C.
 
    int a(0), b(0); //Номера текущих элементов в массивах A и B
 
    while( a+b < size+size ) //Пока остались элементы в массивах
    {
        if( (b>=size) || ( (a<size) && (A[a]<=B[b]) ) )
        { //Копирую элемент из массива A
            C[a+b] = A[a];
            ++a;
        } else { //Копирую элемент из массива B
            C[a+b] = B[b];
            ++b;
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream fin("input.txt", ios::in);
    ifstream fin2("input2.txt", ios::in);
 
    int mas[size], mas2[size], mas3[2*size];
 
    for(int i = 0; i < size; ++i){
        fin >> mas[i];
        fin2 >> mas2[i];
    }
 
    Merge(mas, mas2, mas3);
 
    for(int i = 0; i < 2*size; ++i)
        cout << mas3[i] << ' ';
 
    fin.close();
    fin2.close();
    cout << "\n\n";
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru