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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
#1

Быстрая сортировка двумерного массива - C++

08.06.2014, 20:21. Просмотров 537. Ответов 4
Метки нет (Все метки)

Возникла проблема с програмой в которой применяется быстрая сортировка двумерного массива. При попытке скомпилировать выдает ошибку:
1>c:\users\serv\documents\visual studio 2012\projects\consoleapplication6\consoleapplication6\исходный код.cpp(21): error C4716: create: должна возвращать значение
1>c:\users\serv\documents\visual studio 2012\projects\consoleapplication6\consoleapplication6\исходный код.cpp(45): error C4716: quick_sort: должна возвращать значение

не могу понять почему. Вот код программы:
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <time.h>
using namespace std;
int tab[10][10];
int create()
{
    cout<<"Massiv s elementami <100: ***"<<endl<<endl;
    srand(32);
    for(int a=0;a<10;a++)
    {
        for(int b=0;b<10;b++)
        {
            tab[a][b]=rand()%100;
            cout<<setw(3)<<tab[a][b];
        }
        cout<<endl<<endl;
    }
}
int quick_sort(int tab[10][10],int left,int right)
{
    int a,b,med,zm;
    for(a=0;a<10;a++)
    {
        b=((left+right)/2);
        med=tab[a][b];
        tab[a][b]=tab[a][right];
        for(b=zm=left;b<right;b++)
        {
            if(tab[a][b]>right)
            {
                swap(tab[a][b],tab[a][zm]);
                zm++;
            }
        }
        tab[a][right]=tab[a][zm];
        tab[a][zm]=med;
        if(left<zm-1)
            quick_sort(tab,left,zm-1);
        if(zm+1<right)
            quick_sort(tab,zm+1,right);
    }
}
int main()
{
    create();
    cout<<"Otsorterovanyj massiv: "<<endl<<endl;
    quick_sort(tab,0,9);
    for(int a=0;a<10;a++)
    {
       for(int b=0;b<10;b++)
        {
            cout<<setw(3)<<tab[a][b];
        }
        cout<<endl<<endl;
    }
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 20:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Быстрая сортировка двумерного массива (C++):

Быстрая сортировка двумерного массива - C++
Помогите разобраться с быстрой сортировкой! Для одномерного массива всё понятно, но как сортировать двумерный массив не понимаю. Если б мне...

Быстрая сортировка двумерного массива - C++
Нужно отсортировать двумерный массив по убыванию быстрой сортировкой. Вроде всё работает, но не сортирует. В чём может быть дело? ...

Быстрая сортировка двумерного массива - C++
Здравствуйте. У меня есть задание по сортировкам. Нужно заданный двумерный массив из рандомных чисел отсортировать по возрастанию по...

Не работает быстрая сортировка для двумерного массива - C++
Здравствуйте, возникла проблема, не работает быстрая сортировка по возрастанию абсолютных величин для двумерного массива. Работает только,...

Быстрая сортировка элементов столбцов двумерного массива, стоящих на четных позициях - C++
нужно отсортировать отсортировать элементы столбцов двумерного массива, стоящих на четных позициях, по убыванию. помогите, пожалуйста)...

"Быстрая" сортировка двумерного массива - C++
Помогите пожалуйста!!! Нужно реализовать &quot;быструю&quot; сортировку для двумерного массива. Не ругайте, я пока что новичок, для одномерного...

4
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
08.06.2014, 20:58 #2
Русскими же буквами написано "должна возвращать значение"

Добавлено через 28 секунд
Если возвращать ничего не надо, то тип функции должен быть void.
0
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
08.06.2014, 21:22  [ТС] #3
Nekto, в том то и проблема что в main() те функции должны возвращать значения, я протсо не пойму почему программа не работает. где конкретно допущена ошибка
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
08.06.2014, 21:35 #4
Цитата Сообщение от rafull6 Посмотреть сообщение
Nekto, в том то и проблема что в main() те функции должны возвращать значения, я протсо не пойму почему программа не работает. где конкретно допущена ошибка
Не должны.
0
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
08.06.2014, 22:30  [ТС] #5
Nekto, не знаю что я сделал, но программа теперь работает коректно
сортирует быстрой сортировкой строки массива от максимального до минимального элемента. Подскажите пожалкуйста как заставить сортировать столбци от минимального элемента к максимальному?

Добавлено через 48 минут
неужели нет никаких идей как можно это сделать?
0
08.06.2014, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 22:30
Привет! Вот еще темы с ответами:

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Быстрая сортировка массива - C++
Программа сортирует числа в valarray с помощью быстрой сортировки, но не все элементы. Помогите исправить код так, чтоб сортировались все...

Быстрая сортировка массива - C++
Помогите, как написать быструю сортировку для одномерного массива, если для этого нужно использовать векторы? Не могу понять, как...

Быстрая сортировка массива структур - C++
Подскажите, пожалуйста, как можно быстро отсортировать массив структур? (1 &lt;= N &lt;= 10^18) #include &lt;iostream&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru