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

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

Восстановить пароль Регистрация
 
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
08.06.2014, 20:21     Быстрая сортировка двумерного массива #1
Возникла проблема с програмой в которой применяется быстрая сортировка двумерного массива. При попытке скомпилировать выдает ошибку:
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
08.06.2014, 20:58     Быстрая сортировка двумерного массива #2
Русскими же буквами написано "должна возвращать значение"

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

Добавлено через 48 минут
неужели нет никаких идей как можно это сделать?
Yandex
Объявления
08.06.2014, 22:30     Быстрая сортировка двумерного массива
Ответ Создать тему
Опции темы

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