0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
1

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

22.05.2010, 19:14. Показов 893. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное n. Для n, вводимого с клавиатуры получите действительную квадратную матрицу порядка n, вычислив ее элементы по формуле:

Выполните сортировку элементов каждого столбца матрицы по Ai,j =cos(i*i+n) быванию или возрастанию. Критерий сортировки передавайте в качестве аргумента функции main.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2010, 19:14
Ответы с готовыми решениями:

Выполнить сортировку каждого столбца матрицы по возрастанию
Требуетса помощ в решении задачи:( 1.Разработать программу со строковым меню для работы с...

Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A
Матрица A (M кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого...

Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы суммы элементов соответствующих строк второй матрицы
Даны две целочисленные квадратные матрицы 4-го порядка. Получить новую матрицу путем вычитания от...

Вычесть из каждого столбца матрицы максимальный элемент для каждого столбца, и результат вывести в матрицу
Что нужно добавить , чтобы вычесть из каждого столбца матрицы максимальный элемент для каждого...

5
Эксперт С++
5054 / 3114 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
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;
}
1
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
22.05.2010, 21:37  [ТС] 3
спасибо)))
0
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 10:32  [ТС] 4
в чем может быть ошибка если у меня не идет???????
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
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;
}
1
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 10:39  [ТС] 6
спасибо попрабую)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2010, 10:39
Помогаю со студенческими работами здесь

Даны две целочисленные матрицы 4-го порядка. Получить новую * матрицу путем вычитания из элементов каждого столбца первой матрицы
даны две целочисленные матрицы 4-го порядка. Получить новую матрицу путем вычитания из элементов...

Получить новую матрицу прибавлением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк второй матрицы
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу прибавлением к...

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

Вычислить сумму элементов каждого столбца матрицы
Введите с клавиатуры целочисленные элементы матрицы 3*3 и вычислите сумму элементов каждого столбца.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru