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

Алгоритм сортировки слиянием. Исправить ошибки в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Ввести n элементов одномерного массива, вычислить указанное выражение, вывести на экран http://www.cyberforum.ru/cpp-beginners/thread1120933.html
Составить программу на языке С++ для обработки одномерных массивов с использованием указателей: 1. .Ввести n элементов одномерного массива; 2. Вычислить указанное выражение; 3 Вывести на экран значение указанного выражения. Помогите, другие программы по с++ сделал, осталась только с факториалом
C++ Определить существенные и фиктивные переменные. Вывести на экран таблицу истинности для существенных переменных Для функции трёх переменных определить существенные и фиктивные переменные. Вывести на экран таблицу истинности для существенных переменных. Вот мой код, но где-то закралась ошибка, так как таблицы выводятся не для всех функций, которые я ввожу, к примеру: 10111011, оно скажет, что переменные y, z - существенные, но таблицу не выдаст. #include <iostream> #include <math.h> using namespace... http://www.cyberforum.ru/cpp-beginners/thread1120911.html
C++ Обработка сведений о студентках
Помогите исправить программу. Вроде нет ошибок но он неправильно выводит. Вот условие задачи: Составьте программу для обработки сведений о студентках своей группы. Сведения представляются в виде таблицы, содержащей фамилии студентов и определить характеристики: Характеристики: ФИО, дата рождения Обработка: Выбор родившихся в заданное год #include <conio.h> #include <iostream>
Работа с библиотекой STL, контейнер map C++
Ввожу с экрана имя и номер телефона несколько раз, но for_each почему-то выводит на экран только последнего введенного пользователя, а мне нужно, чтобы выводил всех. Объясните, что я не так делаю? И еще когда пытаюсь вставить for_each в отдельный if(x==3), то на команду 3 вообще никак не реагирует. заранее спасибо! //---------------------------------------------------------------------------...
C++ Найти слово, в котором число различных символов минимально http://www.cyberforum.ru/cpp-beginners/thread1120879.html
Добрый вечер! Помогите, пожалуйста. Ввести n слов с консоли. Найти слово, в котором число различных символов минимально. Если таких слов несколько, найти первое из них.
C++ Вычислить значение выражения Помогите решить это в С++ просто нужно вывести ответ подробнее

Показать сообщение отдельно
_Vertigo_
13 / 13 / 2
Регистрация: 07.09.2013
Сообщений: 158
Завершенные тесты: 1
16.03.2014, 21:05     Алгоритм сортировки слиянием. Исправить ошибки в коде
Кхм, попробуй лучше такой вариант реализации:
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
void Slivaem(int *a, int first, double middle, int last) {
  int pos1=first;
 
  int pos2=middle+1;
 
  int pos3=0;  
 
  int *temp = new int[last-first+1];
 
  // идет слияние, пока есть хоть один элемент в каждой последовательности
  while (pos1 <= middle && pos2 <= last) {
    if (a[pos1] < a[pos2])
      temp[pos3++] = a[pos1++];
    else
      temp[pos3++] = a[pos2++];
  }
 
  // одна последовательность закончилась - 
  // копировать остаток другой в конец буфера 
  while (pos2 <= last)   // пока вторая последовательность непуста 
    temp[pos3++] = a[pos2++];
  while (pos1 <= middle)  // пока первая последовательность непуста
    temp[pos3++] = a[pos1++];
 
  for (pos3 = 0; pos3 < last-first+1; pos3++)
    a[first+pos3] = temp[pos3];
 
  delete []temp;
}
void SortSlivaem(int *mas, int first, int last)
{
    double middle = 0;
if (first<last)
{
    middle = (first + last)/2;
SortSlivaem(mas, first, (first+last)/2); //сортируем левую часть
SortSlivaem(mas, (first+last)/2+1, last); //сортируем правую часть
Slivaem(mas, first, middle, last); //сливаем две части
}
}
Добавлено через 58 секунд
Ошибка в твоем коде, возможно, исправляется так:
int *tempArray = new int[right-left+1];
 
Текущее время: 02:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru