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

Многопутевая сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы, подсчёт, перестановка элементов. http://www.cyberforum.ru/cpp-beginners/thread380177.html
1)найти кол-во элементов массива больших С 2)найти произведение элементов массива,расположенных после максимального по модулю элемента 3)преобразовать массив таким образом,чтобы сначала располагались все отрицательные элементы,а потом все положительные(элементы равные 0 считать положительными) ребят я знаю что эти задачи для вас несложные так что помогите плизз оч прошу
C++ Одномерный массив. Записать элементы массива x, удовлетворяющие условию xi Э [1;2]... Простите за возможный повтор но в поиске по форуму я так и не нашел решение этой задачи. Записать элементы массива x=(x1,x2,...,xn), удовлетворяющие условию xi Э подряд в массив y=(y1,y2,...,yn). Определить минимальный элемент массива. http://www.cyberforum.ru/cpp-beginners/thread380176.html
Метод не хочет возвращать объект типа класса которому он принадлежит C++
Есть класс matrix и один из методов этого класса plus который возвращает объект типа matrix Но корректно этого делать не хочет Ошибка возникает на строчке самого возвращения Сначала пробовал возвращать не используя конструктор копирования, давало ту же ошибку после окончания работы метода plus но до начала вызова следующего метода из main class matrix{ public: matrix() : a(0) {}; //...
C++ одномерный массив
помогие пожалуйста с написанием программки на Си, вроде не сложная, но прошу помощи здесь, вот условие задачи: Преобразовать одномерный массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях. СПАСИБО!!!
C++ Отобразить главную и побочную диагонали симметрично относительно вертикальной оси http://www.cyberforum.ru/cpp-beginners/thread380164.html
Помогите, пожалуйста, с решением задачи: Заполнить матрицу случайными числами. Отобразить главную и побочную диагонали симметрично относительно вертикальной оси. Матрица 9х9. С рандомными значениями, вроде, разобрался (matrix = rand() % 100), но вот как представить симметрию ума не приложу(
C++ Блок-схема + вопросик, тривиальный такой =) В общем есть задание. По нему вопросов в принципе нету. Есть вопрос по блок схеме алгоритмов =) 2 блок схемы сдал тетке преподу, а третью не могу! Ну выпендривается на меня =) не хочет принимать =))) И еще есть такой вопрос. Посмотрите алгоритмы с точки зрения профессионала что ли... То есть вы заказчик, я рабочий(не надо придираться к этой фразе, просто просмотрите). Алгоритм замены... подробнее

Показать сообщение отдельно
Insolence
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 6

Многопутевая сортировка - C++

08.11.2011, 23:44. Просмотров 622. Ответов 0
Метки (Все метки)

добрый вечер)
имеется код программы по многопутевой сортировке...кто-нибудь может сказать почему она работает не правильно???


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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
 
std::vector< std::string > split(const std::string &str, char delim);
 
const int r = 100000;
 
int main()
{
    std::string str;
 
    std::getline(std::cin, str);
 
    std::vector< std::string > st = split(str, ' ');
 
    int n = st.size();
 
    std::vector< std::vector< int > > stalaktit(n, std::vector< int >(n));
    std::vector< int > mas(n);
 
    for (int i = 0; i < n; ++i)
        std::istringstream(st[i]) >> mas[i];
 
    int a = 0;
    int b = 0;
    int sneginka = mas[0];
            
    stalaktit[a][b] = sneginka;
            
    for (int i = 1; i < n; i++)
    {
        if (mas[i] > sneginka)
        {
            b++;
            stalaktit[a][b] = mas[i];
            sneginka = mas[i];
        }
        else
        {
            a++;
            b = 0;
 
            stalaktit[a][b] = mas[i];
            sneginka = mas[i];
        }
    }
            
    a++;
 
    std::vector< int > kaskad(a);
    std::vector< int > stalagmit(n);
 
    int min;
 
    min = r;
 
    for (int j = 0; j < n; j++)
    {
        b = 0;
                
        for (int i = 0; i < a; i++)
        {
            if (stalaktit[i][kaskad[i]] < min && stalaktit[i][kaskad[i]] != 0)
            {
                min = stalaktit[i][kaskad[i]];
                b = i;
            }
        }
                
        stalagmit[j] = min;
        kaskad[b]++;
        min = r;
    }
            
    for (int j = 0; j < n; j++)
        std::cout << stalagmit[j] << std::endl;
            
    std::cin.get();
 
    return 0;
}
 
std::vector< std::string > split(const std::string &str, char delim)
{
    std::vector< std::string > result;
 
    std::string::size_type start_pos = str.find_first_not_of(delim);
    std::string::size_type finish_pos;
 
    while ((finish_pos = str.find_first_of(delim, start_pos)) != std::string::npos)
    {
        result.push_back(str.substr(start_pos, finish_pos - start_pos));
 
        start_pos = str.find_first_not_of(delim, finish_pos);
    }
 
    if (start_pos != std::string::npos)
        result.push_back(str.substr(start_pos));
 
    return result;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru