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

проверте где ошибка в mergeSort - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести в том же порядке дробные части всех чисел из данного набора http://www.cyberforum.ru/cpp-beginners/thread383043.html
1. Series6. Дано целое число N и набор из N положительных вещественных чисел. Вывести в том же порядке дробные части всех чисел из данного набора (как вещественные числа с нулевой целой частью), а также произведение всех дробных частей.
C++ Системы счисления! Даны действительное число x, натуральное число q (0 <= x < 1, q => 2). Получить пять цифр q-ичного представления числа x, т.е. получить последовательность целых неотрицательных a_1, ..., a_5 такую, что x = a_1*q^-1+ ... + a_5*q^-5 + r, 0 =< a_i =< q - 1, r < q ^-5. напишите прогу плз! http://www.cyberforum.ru/cpp-beginners/thread383040.html
Нарисовать рисунок через цикл for C++
Здравствуйте помогите пожалуйста написать программу . которая будет рисовать рисунок через цикл for // 99999.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h> #include <iostream>
поля класса C++
Задача заключается в поиске площади треугольника через класс. Программой должна быть предусмотрена проверка корректности ввода сторон треугольника. Проблема в следующем: полями класса является массив из трёх элементов (стороны треугольника), после ввода значений элементы массива остаются нулевыми. #include <iostream> #include <conio.h> #include <math.h> using namespace std; class...
C++ getchar(putchar()) http://www.cyberforum.ru/cpp-beginners/thread383017.html
Будет ли правильным выражение getchar(putchar())? Что произойдет в результате выполнения каждого из следую-щих операторов? а. putchar ('H'); б. putchar ('\007'); в. putchar ('\n'); г. putchar ('\b'). есть программа count, подсчитывающая число символов в файле. Напишите команду, в результате выполнения которой будет произведен подсчет числа символов в файле essay, а результат будет помещен...
C++ Помогите с задачей Не судите строго, я пока новичок и еще не полностью изучил язык Где мои ошибки? //Программа для решения задач квадратных уравнении #include <iostream> #include <cmath> #include <cstdlib> using namespace std; int main() { подробнее

Показать сообщение отдельно
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
13.11.2011, 17:16     проверте где ошибка в mergeSort
main.cpp
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
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
#include "merge_sort.h"
#include "merge_sort.cpp"
 
 
using namespace std;
 
int main(int argc, char *argv[])
{   
    ifstream input_file("file.txt"); // îòêðûâГ*ГҐГ¬ ГґГ*éë Г± Г¤Г*Г*Г*ûìè
    vector<Sort<int, int> > v; // Âåêòîð ýëåìåГ*òîâ
    Sort<int, int> e; //  Г±ГІГ°ГіГЄГІГіГ°Г*
    while(!input_file.eof()) // ïåðåìåùГ*ГҐГ¬ ГґГ*éëû Гў âåêòîð
    {
      input_file>>e.x;
      input_file>>e.y;
      v.push_back(e);
    }
    mergeSort(v);
     cout<<"  KEY"<<"***"<<"DATA"<<endl;
    for(int i=0; i<v.size(); i++) // Âûâîä
      cout<<setw(5)<<v.at(i).x<<' '<<setw(5)<<v.at(i).y<<endl;
    input_file.close();
    system("PAUSE");
    return EXIT_SUCCESS;
}
mergeSort.cpp
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
#ifndef FUNC
#define FUNC
#include <vector>
#include <iostream>
#include "merge_sort.h"
using namespace std;
 
template<class T>
void mergeSort(vector<T>& Mas, size_t l=0, size_t r=Mas.size() - 1) {
        
 
    if (l < r) {
     
    size_t M = (l + r)/2;
 
    mergeSort(Mas, l, M);       // ñîðòèðîâГ*ГІГј ëåâóþ ïîëîâèГ*Гі 
    mergeSort(Mas, M+1, r);// ñîðòèðîâГ*ГІГј ГЇГ°Г*ГўГіГѕ ïîëîâèГ*Гі 
    merge(Mas, l, M, r);    // ñëèòü ðåçóëüòГ*ГІГ» Гў îáùèé Г¬Г*Г±Г±ГЁГў
}
}
 
 
 
template<class T>
void merge(vector<T>& Mas, size_t l, size_t M, size_t r) {
  vector<T> Mas1;
  size_t pos1=l;
  size_t pos2=M+1;
  size_t pos3=0;  
  
  
  T *temp =  Mas1[r-l+1];
    while (pos1 <= M && pos2 <= r) {
    if (Mas[pos1] < Mas[pos2])
      temp[pos3++] = Mas[pos1++];
    else
      temp[pos3++] = Mas[pos2++];
  }
  for (pos3 = 0; pos3 < r-l+1; pos3++)
    Mas[l+pos3] = temp[pos3];
 
 
  }
#endif
mergeSort.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef FUNC
#define FUNC
#include <vector> 
 
 
 
template<class T, class T1> // ÑòðóêòóðГ* ýëåìåГ*ГІГ*
struct Sort{
  T x; // Êëþ÷
  T1 y; // Г„Г*Г*Г*ûå // ÔóГ*êöèÿ Г±Г°Г*ГўГ*ГҐГ*ГЁГї
};
 
#endif
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru