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

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

Восстановить пароль Регистрация
 
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
13.11.2011, 17:16     проверте где ошибка в mergeSort #1
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 17:16     проверте где ошибка в mergeSort
Посмотрите здесь:

проверте програму C++
C++ Проверте матрицу
C++ Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка)
Ошибка при компиляции. Где ошибка? (Работа с классом) C++
C++ Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
QUICKsort и MERGEsort недостатки и преимущества C++
C++ Укажите где ошибка (ошибка во время выполнения программы)
Не работает сортировка (MergeSort) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.11.2011, 17:18     проверте где ошибка в mergeSort #2
Цитата Сообщение от 2008kedr2008 Посмотреть сообщение
проверте где ошибка в mergeSort
ошибка какая? сортирует неправильно или не компилится или чего?
2008kedr2008
3 / 3 / 0
Регистрация: 16.11.2010
Сообщений: 165
13.11.2011, 17:22  [ТС]     проверте где ошибка в mergeSort #3
вот все ошибки
\merge_sort\main.cpp In function `int main(int, char**)':
`mergeSort' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
D:\Ó÷åáà\Ìåò. ïðîã\merge_sort\Makefile.win [Build Error] [main.o] Error 1
не знаю что делать, спасайте=)))

 Комментарий модератора 
2008kedr2008, Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе. Для поднятия темы вверх, достаточно в ней оставить сообщение.
Yandex
Объявления
13.11.2011, 17:22     проверте где ошибка в mergeSort
Ответ Создать тему
Опции темы

Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru