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

Выполните сортировку элементов каждого столбца матрицы - C++

Восстановить пароль Регистрация
 
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
22.05.2010, 19:14     Выполните сортировку элементов каждого столбца матрицы #1
Дано натуральное n. Для n, вводимого с клавиатуры получите действительную квадратную матрицу порядка n, вычислив ее элементы по формуле:

Выполните сортировку элементов каждого столбца матрицы по Ai,j =cos(i*i+n) быванию или возрастанию. Критерий сортировки передавайте в качестве аргумента функции main.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2010, 19:14     Выполните сортировку элементов каждого столбца матрицы
Посмотрите здесь:

Для каждого столбца матрицы найти произведение его элементов. C++
Вычислить сумму положительных элементов каждого столбца матрицы. C++
C++ Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы
C++ Даны две целочисленные матрицы 4-го порядка. Получить новую * матрицу путем вычитания из элементов каждого столбца первой матрицы
C++ Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы суммы элементов соответствующих строк второй матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.05.2010, 21:04     Выполните сортировку элементов каждого столбца матрицы #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
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
#include <stdio.h>
#include <math.h>
 
void bsort(double **mas, int n)
{
    double temp;
    int i, j, k;
    
    for (k = 0; k < n; k++)
        for (i = 0; i < n; i++)
            for (j = n - 1; j > i; j--)
                if (mas[j - 1][k] > mas[j][k])
                {
                    temp = mas[j][k];
                    mas[j][k] = mas[j - 1][k];
                    mas[j - 1][k] = temp;
                }
}
 
void invert(double **mas, int n)
{
    double temp;
    int i, j, k;
    
    for (k = 0; k < n; k++)
        for (i = 0, j = n - 1; i <= j; i++, j--)
        {
            temp = mas[i][k];
            mas[i][k] = mas[j][k];
            mas[j][k] = temp;
        }
}
 
int main(int argc, char **argv)
{
    double **matrix;
    int sort_key = 1;
    int n;
    int i, j;
    
    printf("Vvedite razmernost' N:");
    scanf("%d", &n);
    
    matrix = (double **)malloc(n * sizeof(double *));
    
    for (i = 0; i < n; i++)
        matrix[i] = (double *)malloc(n * sizeof(double));
    
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            matrix[i][j] = cos(i * j + n);
    
    printf("Matrix: \n\n");
    
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%lf ", matrix[i][j]);
        
        printf("\n");
    }
    
    
    if (argc == 2)
        sort_key = atoi(argv[1]);
    
    bsort(matrix, n);
    
    if (sort_key == 2)
        invert(matrix, n);
    
    printf("\n\nSorting matrix: \n\n");
    
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%lf ", matrix[i][j]);
        
        printf("\n");
    }
    
    getch();
    return 0;
}
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
22.05.2010, 21:37  [ТС]     Выполните сортировку элементов каждого столбца матрицы #3
спасибо)))
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 10:32  [ТС]     Выполните сортировку элементов каждого столбца матрицы #4
в чем может быть ошибка если у меня не идет???????
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
24.05.2010, 10:36     Выполните сортировку элементов каждого столбца матрицы #5
Nikolai89, какая у вас IDE?
Вот переделал под MS VS
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
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <conio.h>
 
void bsort(double **mas, int n)
{
    double temp;
    int i, j, k;
 
    for (k = 0; k < n; k++)
        for (i = 0; i < n; i++)
            for (j = n - 1; j > i; j--)
                if (mas[j - 1][k] > mas[j][k])
                {
                    temp = mas[j][k];
                    mas[j][k] = mas[j - 1][k];
                    mas[j - 1][k] = temp;
                }
}
 
void invert(double **mas, int n)
{
    double temp;
    int i, j, k;
 
    for (k = 0; k < n; k++)
        for (i = 0, j = n - 1; i <= j; i++, j--)
        {
            temp = mas[i][k];
            mas[i][k] = mas[j][k];
            mas[j][k] = temp;
        }
}
 
int main(int argc, char **argv)
{
    double **matrix;
    int sort_key = 1;
    int n;
    int i, j;
 
    printf("Vvedite razmernost' N:");
    scanf_s("%d", &n);
 
    matrix = (double **)malloc(n * sizeof(double *));
 
    for (i = 0; i < n; i++)
        matrix[i] = (double *)malloc(n * sizeof(double));
 
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            matrix[i][j] = cos((double)(i * j + n));
 
    printf("Matrix: \n\n");
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%lf ", matrix[i][j]);
 
        printf("\n");
    }
 
 
    if (argc == 2)
        sort_key = atoi(argv[1]);
 
    bsort(matrix, n);
 
    if (sort_key == 2)
        invert(matrix, n);
 
    printf("\n\nSorting matrix: \n\n");
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%lf ", matrix[i][j]);
 
        printf("\n");
    }
 
    _getch();
    return 0;
}
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 10:39  [ТС]     Выполните сортировку элементов каждого столбца матрицы #6
спасибо попрабую)
Yandex
Объявления
24.05.2010, 10:39     Выполните сортировку элементов каждого столбца матрицы
Ответ Создать тему
Опции темы

Текущее время: 14:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru