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

Матрицы. Отсортировать четные столбцы в обратном порядке, а нечетные в прямом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Минимальные комментарии к коду http://www.cyberforum.ru/cpp-beginners/thread986746.html
Доброго времени суток:) помогите разобраться с примером, пожалуйста. Прокоментируйте, что делают даные класы и ф-ции. Я начал, но не до конца разобрался:-| Создать 2 класса:строку String с преобразованием из char * в строку String и наооборот, и Double c преобразованием из double и наооборот, а так же взаимное преобразование String и Double #include <iostream> #include <string.h> #include...
C++ Вывести номер первой строки матрицы, содержащей равное количество положительных и отрицательных элементов Дана целочисленная матрица размера 5х10. Вывести номер её первой строки, содержащей равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк нет, то вывести 0. Помогите пожалуйста!!! Буду очень благодарен!!! http://www.cyberforum.ru/cpp-beginners/thread986738.html
Запись в файл C++
Задание: Определить максимальный элемент массива, записанного в файле. Результат записать в новый файл. Пишу такой код, однако программа записывает в файл не максимальный элемент. #include <iostream> #include "fstream" using namespace std; const int n=50; int main ()
передача указателя C++
какой способ передачи указателя наиболее быстрый? int a = 1; int *b= &a; wav.set_windows((int*) b); или int a = 1; int *b= &a;
C++ Вычислить количество отрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread986653.html
В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать с помощью функции количество отрицательных элементов массива
C++ Read Structure From File Собственно запускаем такую программу. Файл обязательно должен быть бинарным. #include <iostream> #include <cstdlib> #include <clocale> #include "function.h" using namespace std; int main () { bool noexit; подробнее

Показать сообщение отдельно
Ultrafight
13 / 13 / 5
Регистрация: 23.10.2013
Сообщений: 60
24.10.2013, 18:59     Матрицы. Отсортировать четные столбцы в обратном порядке, а нечетные в прямом
тебе любой тип сортировки? у тебя в коде написано const int n=22; у тебя n постоянно?

Добавлено через 1 минуту
пузырьковая сортировка пойдет?

Добавлено через 56 секунд
матрица 37х37 размером?

Добавлено через 3 минуты
тебе результат в файл? и сам процесс сортировки надо как-то отражать?

Добавлено через 1 час 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
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
90
91
92
93
94
95
96
#include <cstdlib>
#include <stdio.h>
#include <ctime>
 
using namespace std;
 
int main()
{
    int matrix_size=10;
    int matrix[matrix_size][matrix_size]; // матрица
    bool replace;    // необходимость перестановок (true - перестановки нужны)
    int per;         // переменная, которая используется при перестановки элементов
 
 
    // засеиваем ГСЧ
    srand(time(0));
 
    // заносим значения в матрицу
    for(int i=0; i<matrix_size; i++)
    {
        for(int j=0; j<matrix_size; j++)
        {
            matrix[i][j] = -37 + rand()%75;
        }
    }
 
    // вывод исходной матрицы
    printf("StArT mAtRiX:\n");
    for(int i=0; i<matrix_size; i++)
    {
        for(int j=0; j<matrix_size; j++)
        {
            printf("%3d", matrix[i][j]);
        }
        printf("\n");
    }
 
    for(int j=0; j<matrix_size; j++)
    {
        if(j%2==0) // столбец нечетный
        {
            replace=true;
            while(replace!=false)
            {
                replace=false;
                for(int i=0; i<matrix_size-1; i++)
                {
                    if(matrix[i][j]>matrix[i+1][j])
                    {
                        replace = true;
                        per = matrix[i][j];
                        matrix[i][j] = matrix[i+1][j];
                        matrix[i+1][j] = per;
                    }
                }
            }
        }
    }
 
    for(int j=0; j<matrix_size; j++)
    {
        if(j%2==1) // столбец четный
        {
            replace=true;
            while(replace!=false)
            {
                replace=false;
                for(int i=0; i<matrix_size-1; i++)
                {
                    if(matrix[i][j]<matrix[i+1][j])
                    {
                        replace = true;
                        per = matrix[i][j];
                        matrix[i][j] = matrix[i+1][j];
                        matrix[i+1][j] = per;
                    }
                }
            }
        }
    }
 
    // вывод измененной матрицы
    printf("\n\nReSuLt mAtRiX:\n");
    for(int i=0; i<matrix_size; i++)
    {
        for(int j=0; j<matrix_size; j++)
        {
            printf("%3d ", matrix[i][j]);
        }
        printf("\n");
    }
 
        getchar();
 
    return 0;
}
там я размер матрицы int matrix_size=10; поставил равным 10, если хочешь, можешь любой поставить (а то при 34х34 матрица не влезает в экран)
 
Текущее время: 13:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru