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

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

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

Расположить в порядке возрастания методом подсчета - C++

21.12.2013, 23:50. Просмотров 499. Ответов 8
Метки нет (Все метки)

Помогите написать код.

Дано двумерный массив целых чисел. Все элементы массива, при делении на 4 дают в остатке 2, расположить в порядке возрастания методом подсчета.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 23:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расположить в порядке возрастания методом подсчета (C++):

Расположить в порядке возрастания методом подсчета - C++
Дано двумерный массив целых чисел. Все элементы массива, при делении на 4 дают в остатке 2, расположить в порядке возрастания методом...

Массивы. Расположить элементы в порядке возрастания. Использовать сортировку методом вставок - C++
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом вставок. Количество и значение элементов...

Расположить чётные числа массива в порядке возрастания, а нечётные в порядке убывания - C++
Требуется расположить чётные числа в порядке возрастания, а не чётные в порядке убывания. Относительного расположения чисел не менять. С...

Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания - C++
Нужно расположить элементы первой половины одномерного массива в порядке возрастания, а второй половины массива в порядке убывания. Данная...

Расположить столбцы в порядке возрастания - C++
Задана целая матрица размером m на n. Расположить столбцы в порядке возрастания элементов K-ой строки(К задаётся пользователем) :)

Расположить элементы массива в порядке возрастания - C++
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом выбора. Количество и значения элементов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,242
Завершенные тесты: 1
22.12.2013, 00:35 #2
Kolbusdkiy, Алгоритмы сортировок
1
Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
22.12.2013, 14:04  [ТС] #3
^Tecktonik_KiLLeR, и как мне его к моей программе притулить?
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.12.2013, 14:24 #4
если массив a[][] размером n*m уже есть то можно так:
C++
1
2
3
4
5
6
7
8
9
10
int i_min, i, j, t;
for(i=0; i<n*m; i++)
    if(a[i/m][i%m]%4==2)
    {
        i_min=i;
        for(j=i+1; j<n*m; j++)
            if(a[j/m][j%m]%4==2 && a[i_min/m][i_min%m]>a[j/m][j%m])
                i_min=j;
        t=a[i/m][i%m];a[i/m][i%m]=a[i_min/m][i_min%m];a[i_min/m][i_min%m]=t;
    }
1
Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
22.12.2013, 15:52  [ТС] #5
Вот, помогите отладить.
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
#include <iostream>
using namespace std;
 
int main() {
    int n,m;
    cin>>n>>m;  
    int arr[n][m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>arr[i][j];
        
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++) {
            if(arr[i][j]%4==2) {
                i_min=i;
                for(j=i+1; j<n*m; j++)
                    if(a[j/m][j%m]%4==2 && a[i_min/m][i_min%m]>a[j/m][j%m])
                        i_min=j;
                    t=a[i/m][i%m];
                    a[i/m][i%m]=a[i_min/m][i_min%m];
                    a[i_min/m][i_min%m]=t;
            }
        }
        for(int i=0;i<n;i++) {
                cout<<endl;
                for(int j=0;j<m;j++)
                    cout<<arr[i][j]<<' '; 
            }
            return 0;
}
Добавлено через 29 минут
Помогите!

Добавлено через 35 минут
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.12.2013, 17:26 #6
Kolbusdkiy, что именно не устраивает в коде? если есть ошибки компилятора, то какие ?
0
Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
22.12.2013, 18:36  [ТС] #7
valeriikozlov, ну вот код, без ошибок, ну программа не работает:
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
#include <iostream>
using namespace std;
 
int main() {
    int n,m,t,i_min;
    cin>>n>>m;  
    int arr[n][m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>arr[i][j];
        
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++) {
            if(arr[i][j]%4==2) {
                i_min=i;
                for(j=i+1; j<n*m; j++)
                    if(arr[j/m][j%m]%4==2 && arr[i_min/m][i_min%m]>arr[j/m][j%m])
                        i_min=j;
                    t=arr[i/m][i%m];
                    arr[i/m][i%m]=arr[i_min/m][i_min%m];
                    arr[i_min/m][i_min%m]=t;
            }
        }
        for(int i=0;i<n;i++) {
                cout<<endl;
                for(int j=0;j<m;j++)
                    cout<<arr[i][j]<<' '; 
            }
            return 0;
}
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.12.2013, 19:09 #8
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
#include <iostream>
using namespace std;
 
int main() {
    int n,m,t,i_min, jj;
    cin>>n>>m;  
    int arr[100][100];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>arr[i][j];
        
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++) {
            if(arr[i][j]%4==2) {
                i_min=i*m+j;
                for(jj=i*m+j+1; jj<n*m; jj++)
                    if(arr[jj/m][jj%m]%4==2 && arr[i_min/m][i_min%m]>arr[jj/m][jj%m])
                        i_min=jj;
                    t=arr[i][j];
                    arr[i][j]=arr[i_min/m][i_min%m];
                    arr[i_min/m][i_min%m]=t;
            }
        }
        for(int i=0;i<n;i++) {
                cout<<endl;
                for(int j=0;j<m;j++)
                    cout<<arr[i][j]<<' '; 
            }
            return 0;
}
1
Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
22.12.2013, 19:33  [ТС] #9
Спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 19:33
Привет! Вот еще темы с ответами:

Расположить слова порядке возрастания их длины - C++
Дана строка символов. Расположить их в порядке возрастания длины слова. Дайте хелпу ребятки;)

Расположить четыре числа в порядке возрастания - C++
I. Выполнить задание с использованием условного оператора if Расположите четыре числа в порядке возрастания.

Каждый чётный столбец квадратной матрицы расположить в порядке убывания, а каждый нечётный в порядке возрастания - C++
Дана квадратная матрица порядка n. Каждый чётный столбец расположить в порядке убывания, а каждый нечётный в порядке возрастания. ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.12.2013, 19:33
Ответ Создать тему
Опции темы

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