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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать класс "треугольник" (перевести код с C#) http://www.cyberforum.ru/cpp-beginners/thread665549.html
надо переделать прогу с с# на c++. мне написать ее заново не легче будет, так как с++ я напрочь забыла. поэтому пишу сюда, в надежде на помощь. программа достаточно громосткая, но надеюсь кто-нибудь мне поможет. :) using System; using System.Collections.Generic; using System.Text; namespace z15_b { class Triangle { static void Main(string args) {Console.WriteLine("Введите стороны и...
C++ Нужно откомментировать код программы Здравствуйте! Помогите пожалуйста откомментировать код уже написанной программы. Кое-что я уже откомментировал, что знаю, а остальное не знаю... // labka2v2.cpp: определяет точку входа для консольного приложения. /* Консольное приложение Win32, составляющее на основании введенных с клавиатуры данных таблицу значений "X" и "Y". */ #include "stdafx.h" /* Подключаем заголовочный файл... http://www.cyberforum.ru/cpp-beginners/thread665537.html
C++ Вывести все слова, отличные от hello
Нужно вывести все слова, отличные от hello #include "stdafx.h" #include <iostream> #include <math.h> #include <string.h> using namespace std;
Как в файл записать массив из чисел в с++? C++
помогите пожалуйста,кто знает например , есть у нас текстовый файл " file.txt" . в него нужно поместить массив из 5 чисел . как это сделать ?
C++ Вычисление минимального времени по расписанию движения электричек http://www.cyberforum.ru/cpp-beginners/thread665521.html
Подскажите как такую задачу решить (с графами только начал разбираться), вообще не понимаю как ее сделать : Одна из команд-участниц олимпиады решила вернуться домой на электричках. При этом ребята хотят попасть домой как можно раньше. К сожалению, не все электрички идут от города, где проводится олимпиада, до станции, на которой живут ребята. И, что еще более обидно, не все электрички,...
C++ Блок-схема Помогите сделать блок схему..вообще никак не получаеться( уже и читал как делать и тд..всёравно не идёт Хотя бы от руки набрасайте(мне главное так где цыклы(типа как они соединяются и тд)) просто приблезительно...Уже сколько пытаюсь сделать и каждый раз неправильно(и до того как мне тут помогли переделать прогу)..всё равно не получаеться #include "StdAfx.h" #include <iostream> #include... подробнее

Показать сообщение отдельно
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
07.10.2012, 23:31     Сортировка двумерного массива
Ну если совсем просто так:
используешь пузырьковую сортировку только для i индексов, если у тебя часы равны, то сравниваешь минуты, если у тебя и часы и минуты равны то сравниваешь секунды, если нет, то меняешь всю строку. Напоминаю, за строку у нас отвечает i.

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
#include <iostream>
using namespace std;
 
int main ()
{
    int n;
    int **mas;
    cin >> n;
    mas = new int*[n];
    for (int i=0; i<n; i ++)
    {
        mas[i] = new int[3];
    }
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<3; j++)
        {
            cin >> mas[i][j];
        }
    }
    for (int i=0; i<n-1; i++)
    {
        for (int j=i; j<n; j++)
        {
            if (mas[i][0] > mas[j][0])
            {
                swap(mas[i][0], mas[j][0]);
                swap(mas[i][1], mas[j][1]);
                swap(mas[i][2], mas[j][2]);
            }
            else if (mas[i][0] == mas[j][0])
            {
                if (mas[i][1] > mas[j][1])
                {
                    swap(mas[i][0], mas[j][0]);
                    swap(mas[i][1], mas[j][1]);
                    swap(mas[i][2], mas[j][2]);
                }
                else if (mas[i][1] == mas[j][1])
                {
                    if (mas[i][2] > mas[j][2])
                    {
                        swap(mas[i][0], mas[j][0]);
                        swap(mas[i][1], mas[j][1]);
                        swap(mas[i][2], mas[j][2]);
                    }
                }
            }
        }
    }
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<3; j++)
        {
            cout << mas[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}
 
Текущее время: 11:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru