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

Проблемы с sort() - C++

Восстановить пароль Регистрация
 
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
02.06.2009, 12:51     Проблемы с sort() #1
В
коде
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
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
 
void out(int *a,int n,int k);
void vin(int *a,int n);
void copt(int *a,int n,int k);
bool my (int i,int j) { return (i<j); }
 
 
int main(int argc, char* argv[])
{
        setlocale(0,"");
        int n,
                *a;
        cout << "Введите порядок квадратной матрицы: ";
        wcin >> n;
        _flushall();
        a = new int[n*n];
        for(int i = 0; i < n*n;i++){
                cout << "A = ";
                wcin >> a[i];
        }
        _flushall();
        out(a,n*n,n);
        copt(a,n*n,n);
        out(a,n*n,n);
        getchar();
        return 0;
}
void out(int *a,int n,int k){
        int x = k;
        for(int i = 0;i < n;i++){
                cout << a[i] << "  ";
                if(i == x-1){
                        cout << endl;
                        x += k;
                }
        }
        cout << "\n\n";
}
void vin(int *a,int n){
        srand(time(0));
        for(int i = 0; i < n;i++)
                a[i] = rand()%401-200;
}
void copt(int *a,int n,int k){
        int x = k,z =0,
                max = 0;
        max = *max_element(a,a+n);
        cout << max << "\n\n";
        sort(a+k,a,my);
        for(int i = 0; i < n;i++){
                if(i == x){
                        z++;
                        x += k;
                }
                if(z != n)
                if(a[i] == max)
                        sort(a+k+k*z,a+k*z,my);
        }
}
вылезает ошибки на sort`aх:
P.S.Нужно в матрице первую строку упорядочить по убыванию и
если в строке матрицы есть максимальный элемент - упорядочить тоже по убыванию.
Проблемы с sort()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2009, 12:51     Проблемы с sort()
Посмотрите здесь:

C++ std::sort()
C++ Select Sort
qsort vs sort C++
Quick sort c++ C++
Функция sort C++
Strand Sort C++
Bubble sort C++
C++ Функция sort()
C++ sort()
C++ Merge sort
C++ Sort()
Counting sort C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
System.exe
 Аватар для System.exe
90 / 86 / 12
Регистрация: 14.05.2009
Сообщений: 202
02.06.2009, 13:05     Проблемы с sort() #2
Используй функцию swap(), которая меняет местами элементы массива. Внутри скобок пиши два элемента которые нужно переставить местами. Например: if(a[i]>a[i+1])
swap(a[i],a[i+1]).
Yandex
Объявления
02.06.2009, 13:05     Проблемы с sort()
Ответ Создать тему
Опции темы

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