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

сортировка массива по двум критериям(или что-то вроде того) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание массива по Указателю на массив http://www.cyberforum.ru/cpp-beginners/thread186840.html
(к сведенью. пользую C++, версия Dev C++ 4.9.9.2) Я создал указатель на массив: char (*e); Мне нужно создать по этому указателю массив с помощью new. Подскажите как это сделать. P.s. Знаю что имя массива это указатель на него, и что это изврат. Но этого требует лабораторная. Огромное спасибо за помощь.
C++ Масив строк на С Задача: есть массив из строк. нужно инвертировать его по строкам. например у нас есть строка1, строка2, строка3, строка4, а надо сделать: строка4, строка3, строка2, строка1. нужно сделать без библиотечных функций на языке С. помогите кто может. http://www.cyberforum.ru/cpp-beginners/thread186824.html
Одномерный массив C++
ребята помогите! Приехал в россию учиться а тут учебная программа очень сложная!не могу освоить си++! как мне это решить??? Ввести одномерный массив A, в котором число элементов кратно трём, вывести его. Разбить массив на три равные части, каждую из которых отсортировать по возрастанию.
Можно ли перегрузить " ' кавычки? C++
Вписываю разные значения, но компилятор говорит - требуется оператор. operator"" operator" operator' operator'' Кавычки это оператор или что? Когда я что то ввожу в кавычки то вызывается конструктор который складывает символы char?
C++ Сортировка столбца двумерного массива! http://www.cyberforum.ru/cpp-beginners/thread186806.html
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <iomanip.h> void main () { clrscr (); int kr, min, ks, ns, i, j, ** mas;
C++ срочно нужно!!!! на информатику нужно решить...помогите пожалуйста... подробнее

Показать сообщение отдельно
DEAL
Сообщений: n/a
05.11.2010, 23:08     сортировка массива по двум критериям(или что-то вроде того)
Дан массив int arr[n][2], нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные).
И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется.

Покажу, что есть, там ошибка в if-е, где равенство. Может быть, сначала отсортировать первую строчку, а потом пройтись еще раз и где числа равны применить сортировку по второй?
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
 
void sorting(int first, int last) 
{      
    int p = arr[(last - first)/2 + first][0]; 
    int temp;
    int i = first, j = last;
    while(i <= j) 
    {        
        while(arr[i][0] < p && i <= last)  ++i;
        while(arr[j][0] > p && j >= first) --j;
        if(i <= j) 
        {
            if(arr[i][0]==arr[j][0])
            {
                if(arr[j][1]<arr[i][1]) swap(arr[j][1],arr[i][1]);
            }
            else
            {
                swap(arr[j][1],arr[i][1]);
                swap(arr[j][0],arr[i][0]);
            }
            ++i; --j;            
        }      
    }      
    if(j > first) sorting(first, j);      
    if(i < last)  sorting(i, last);   
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru