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

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

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

Интересная сортировка массива - C++

17.01.2012, 01:00. Просмотров 796. Ответов 14
Метки нет (Все метки)

Дан двухмерный массив, который заполнен случайными числами.
Задача:
1. Сделать сортировку массива;
2. Расположить числа в массиве индивидуальным способом;
Например, массив 3-3:
25 27 30
26 29 41
28 40 42
Если первое легко получается, то второй пункт не выходит...
Подскажите, у кого какие идеи есть на счет второго пункта ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 01:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Интересная сортировка массива (C++):

Интересная сортировка - C++
Помогите пожалуйста с задачкой,если можно с комментариями Ввести матрицу и провести сортировку всех столбцов следующим...

Интересная сортировка - C++
Добрый день . Увидел задачу не могу решить :cry::-| какой час уже . Вообщем есть массив : Вот 3 2 7 5 6 7 После того как 7 (то есть х )...

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

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

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива - C++
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа находились в начале, а отрицательные - в конце...

Сортировка массива. Ошибка после ввода размерности массива - C++
подскажите почему после ввода размерности массива выдает ошибку #include<iostream> #include<cstdlib> #include<conio> using...

14
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
17.01.2012, 01:37 #2
Так пойдет ?
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
#include <time.h>
#include <conio.h>
 
 int main() {
     setlocale(LC_CTYPE,"");
int i;
int j;
const int ind_i = 3;
const int ind_j = 3;
int arr[ind_i][ind_j];
int count = 0;
srand(time(NULL));
 
for (i = 0; i < ind_i;i++)
    for (j = 0; j < ind_j;j++)
arr[i][j] = 10 + rand() % 100;
 
 
for (i = 0; i < ind_i;i++)
    for (j = 0; j < ind_j;j++)
    {
std::cout << arr[i][j] ;
count += 1;
if(count ==1 ||count == 2 ||count == 4 ||count == 5||count ==7 ||count == 8)std::cout << "\t";
if(count ==3 ||count == 6)std::cout << std::endl;
    }
_getch();
 }
0
nezlich
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
17.01.2012, 01:46  [ТС] #3
Нет, к сожалению не то...
0
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
17.01.2012, 01:52 #4
А... тебе нужно конкретные числа . Теперь ясно.
0
nezlich
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
17.01.2012, 02:08  [ТС] #5
Двумерный массив со случайными числами:
2 2 5
5 9 8
3 5 3
Сортируем:
223355589
И затем нужно записать их в двумерный массив в виде:
2 3 5
2 5 8
3 5 9
Вот такой вид нужно получить в итоге...
0
Serejke_qq
150 / 108 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
17.01.2012, 02:08 #6
не это случайно?
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
17.01.2012, 02:10 #7
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
void sort(int [][3], int, int, int, int = 0);
void swap(int&, int&);
 
int main()
{
    int mass[3][3];
 
    srand(time(NULL));
 
    for(int i = 0; i < 3; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            mass[i][j] = rand() % 50;
            std::cout << std::setw(5) << mass[i][j];
        }
 
        std::cout << std::endl;
    }
 
    for(int i = 0; i < 3; i++) // строки
        sort(mass,i,0,3);
 
    for(int j = 0; j < 3; j++) // столбцы
        sort(mass,j,0,3,1);
 
    std::cout << std::endl;
 
    for(int i = 0; i < 3; i++)
    {
        for(int j = 0; j < 3; j++)
            std::cout << std::setw(5) << mass[i][j];
 
        std::cout << std::endl;
    }
 
    return 0;
}
 
void sort(int mass[][3], int status, int begin, int end, int key)
{
    if(begin < end)
    {
        int indexOfMin = begin;
 
        if(!key)
        {
            int min = mass[status][begin];
 
            for(int j = begin; j < end; j++)
                if(mass[status][j] < min)
                {
                    min = mass[status][j];
                    indexOfMin = j;
                }
        }
        else
        {
                        int min = mass[begin][status];
 
                        for(int i = begin; i < end; i++)
                                if(mass[i][status] < min)
                                {
                                        min = mass[i][status];
                                        indexOfMin = i;
                                }
                }
 
 
        if(!key && indexOfMin != begin)
            swap(mass[status][begin],mass[status][indexOfMin]);
        else if(key && indexOfMin != begin)
            swap(mass[begin][status],mass[indexOfMin][status]);
 
        sort(mass,status,begin+1,end,key);
    }
}
 
void swap(int& a, int& b)
{
    a += b;
    b = a - b;
    a -= b;
}
0
retmas
Жарю без масла
863 / 745 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
17.01.2012, 02:10 #8
в чем именно трудность? проблема в поиске следущего элемента, которое нужно вписать в ячейку матрицы, или во вставке именно в порядку, указанном в п.2?
0
nezlich
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
17.01.2012, 02:11  [ТС] #9
Цитата Сообщение от Serejke_qq Посмотреть сообщение
не это случайно?
Что-то похожее... Буду разбираться...
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
17.01.2012, 02:11 #10
Цитата Сообщение от nezlich Посмотреть сообщение
Двумерный массив со случайными числами:
2 2 5
5 9 8
3 5 3
Сортируем:
223355589
И затем нужно записать их в двумерный массив в виде:
2 3 5
2 5 8
3 5 9
Вот такой вид нужно получить в итоге...
не заметил когда постил
0
nezlich
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
17.01.2012, 02:13  [ТС] #11
Цитата Сообщение от retmas Посмотреть сообщение
в чем именно трудность? проблема в поиске следущего элемента, которое нужно вписать в ячейку матрицы, или во вставке именно в порядку, указанном в п.2?
Проблема в порядке...
0
Dima249
10 / 10 / 0
Регистрация: 02.10.2011
Сообщений: 69
17.01.2012, 02:49 #12
надо чтоб строки по порядку были столбцы или полностью?
0
nezlich
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
17.01.2012, 02:54  [ТС] #13
Цитата Сообщение от Dima249 Посмотреть сообщение
надо чтоб строки по порядку были столбцы или полностью?
Числа нужно расположить от минимального сверху слева и до максимального снизу справа. Например:
0 2 5
1 4 7
3 6 8
0
Dima249
10 / 10 / 0
Регистрация: 02.10.2011
Сообщений: 69
17.01.2012, 02:57 #14
ну вот в вашем примере строки идут по возрастанию, сделайте сортировку по строкам
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
17.01.2012, 03:00 #15
Цитата Сообщение от nezlich Посмотреть сообщение
Числа нужно расположить от минимального сверху слева и до максимального снизу справа. Например:
0 2 5
1 4 7
3 6 8
Интересная сортировка массива
0
17.01.2012, 03:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2012, 03:00
Привет! Вот еще темы с ответами:

Сортировка массива структур через сортировку массива указателей - C++
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: ...

Сортировка массива, вместо массива выводит мусор - C++
Здравствуйте Уважаемые жители форума! Есть рабочий код сортируем массив выбором поиск наименьшего значения, но почему выводит какой то...

Указатели массива и сортировка массива - C++
Доброго времени суток, вот бьюсь над проблемой, нужна программа которая б сортировку динамического массива (ввод с клавиатуры) из 10...

Сортировка массива - C++
В одномерном массиве , состоящих из n вещественных элементов: Преобразовать массив таким образом, чтобы сначала располагались все...


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

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

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