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

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

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

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

21.06.2010, 20:22. Просмотров 1005. Ответов 10
Метки нет (Все метки)

Дан двухмерный массив. Отсортировать столбики массива, поставив вначале четные элементы,а потом нечетные, не меняя при этом их порядок следования...
помогите пожалуйста!..не могу додуматься как это сделать
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 20:22     Сортировка двухмерного массива
Посмотрите здесь:

Сортировка двухмерного массива по i и j - C++
Нужно написать алгоритм, который создавал бы массив чисел, при чем так, чтобы каждый последующий элемент (по i или по j) был меньше...

Сортировка двухмерного массива - C++
Помогите!!!Нужно отсортировать двухмерный массив с использованием указателя. #include<iostream> #include<stdlib.h> #include<time.h> ...

Сортировка двухмерного массива - C++
Здравствуйте, Нужно применить сортировку к текстовой базе данных. Поля базы только string. Я записываю БД в двумерный массив string. ...

Сортировка двухмерного динамического массива - C++
Доброго времени суток. Столкнулся с проблемой при сортировке двухмерного динамического массива, а именно: первые y-1 элементы (у - число...

Сортировка двухмерного массива вставками - C++
Доброго времени суток! Пытаюсь реализовать сортировку двухмерного массива вставками по характеристике Sum. Компилятор выдает ошибку в...

Сортировка первого столбца двухмерного массива. - C++
Необходимо отсортировать первый столбец двухмерного массива. Программа кажется это и делает, только почему-то неправильно. Укажите...

Сортировка двухмерного масива - C++
Отсортировать двухмерный масив целых чисел методом пузырьков. Заранее благодарна.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
22.06.2010, 21:39     Сортировка двухмерного массива #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
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <algorithm>
#define DIMENSION 5
using namespace std; 
 
bool criterion(int& elem)
{
    return !(elem & 1);
}
 
int main()
{
    int **b;
    b = new int*[DIMENSION];
    for (int i = 0; i<DIMENSION; ++i)
    {
        b[i] = new int [DIMENSION];
        for (int j = 0; j < DIMENSION; ++j)
            b[i][j] = rand() % 10;
        stable_partition(b[i], b[i]+DIMENSION, criterion);
    }
    
    for (int i = 0; i<DIMENSION; ++i)
    {
        for (int j = 0; j < DIMENSION; ++j)
        {
            cout << b[j][i] << " ";
        }
        cout << endl;
    }
    
 
    for (int i = 0; i<DIMENSION; ++i)
    {
        delete [] b[i];
    }
    delete [] b;
    system("pause");
    return 0;
}
Sanu0074
58 / 58 / 2
Регистрация: 14.06.2010
Сообщений: 1,189
Записей в блоге: 5
23.06.2010, 14:00     Сортировка двухмерного массива #3
а вот вариант попроще:

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 <iostream>
using namespace std;
int main()
{
    const int row = 3, col = 2;
        int arr[row][col] = 
        {
                {1, 2},
                {3, -4},
                {5, -6}
        };
        for(int i = 0; i < row; ++i)
        {
                for(int j = 0; j < col; ++j)
                {
                    if(arr[i][j]<0)
                cout << arr[i][j] << endl;;
                }
        }
         for(int i = 0; i < row; ++i)
        {
                for(int j = 0; j < col; ++j)
                {
                    if(arr[i][j]>0)
                cout << arr[i][j]<< endl;
                }
         } 
}
Patifonka
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 13
23.06.2010, 19:45  [ТС]     Сортировка двухмерного массива #4
Всем спасибо!Manjak а вы не могли бы еще объяснить следующие куски кода...
C++
1
2
3
4
5
6
7
8
9
using namespace std; 
 
bool criterion(int& elem)
{
    return !(elem & 1);
}
 
 
stable_partition(b[i], b[i]+DIMENSION, criterion);
а то я только учусь программировать в Borland C++ и может конешно во многом из-за уровня знаний не совсем понимаю эти строчки...и насколько я поняла stable_partition это какая-то функция из библиотеки <algorithm>...а мой борланд ее не поддерживает..не могли бы вы подсказать другой путь реализации этой ф-ции?
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 893
23.06.2010, 19:59     Сортировка двухмерного массива #5
Цитата Сообщение от Patifonka Посмотреть сообщение
Borland C++
какой?
Patifonka
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 13
23.06.2010, 20:00  [ТС]     Сортировка двухмерного массива #6
Borland C++ 5.02
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 893
23.06.2010, 20:01     Сортировка двухмерного массива #7
в 6м без вопросов работает
Patifonka
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 13
23.06.2010, 20:02  [ТС]     Сортировка двухмерного массива #8
Ну установить его то не проблема....а задание то принимать будут именно этим
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 893
23.06.2010, 20:36     Сортировка двухмерного массива #9
ссори...ша )

Добавлено через 4 минуты
должно получиться если
Код
1 2 3
4 5 6
7 8 9
то
Код
1 5 3
7 2 9
4 8 6
то есть все цыфры нечет наверх, остальное вниз
Patifonka
0 / 0 / 0
Регистрация: 21.06.2010
Сообщений: 13
24.06.2010, 00:32  [ТС]     Сортировка двухмерного массива #10
Неет как раз вначале четные,а потом нечетные..но вот код то как составить чтобы в борланде работало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2010, 01:16     Сортировка двухмерного массива
Еще ссылки по теме:

Удаление двухмерного массива - C++
Доброго дня. Выделяем память под квадратную матрицу --&gt; заполняем --&gt; освобождаем занятую память . Следующий вопрос : при повторном...

Перемешивание двухмерного массива - C++
Подскажите как можно перемешать двухмерный массив таким образом , чтобы он в цикле по строкам и столбцам массива перебирал элементы массива...

Из двухмерного массива в одномерный - C++
Всем привет.Передо мной предстала задача перевести двухмерный массив в одномерный. Вот пример : 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1...

c++, функция для двухмерного массива - C++
написать функцию, проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Передача двухмерного массива функции - C++
Подскажите пожалуйста как передать статический массив array в функцию fn(), т.е. #include &lt;iostream&gt; using namespace std; void...


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

Или воспользуйтесь поиском по форуму:
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
24.06.2010, 01:16     Сортировка двухмерного массива #11
Цитата Сообщение от Patifonka Посмотреть сообщение
C++
1
2
3
4
5
6
7
using namespace std; 
 
bool criterion(int& elem)
{
    return !(elem & 1);
}
stable_partition(b[i], b[i]+DIMENSION, criterion);
Первая строка значит что все имена которые я использовал в программе будут искаться в пространстве имен std.
Булевая функция определяет четное ли число (возвращает true в таком случае).
stable_partition(b[i], b[i]+DIMENSION, criterion); - вот эта функция выносит в начало промежутка ограниченного первым и вторым аргументом (работает до второго аргумента, но не включительно, тоесть [a;b) ) все элементы для которых функция в третьем аргументе вернет истину, в данном случае четные числа, приставка stable означает, что относительный порядок чисел должен сохраняться.
Yandex
Объявления
24.06.2010, 01:16     Сортировка двухмерного массива
Ответ Создать тему
Опции темы

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