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

Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" - C++

Восстановить пароль Регистрация
 
Karahtan
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 20
26.10.2011, 19:47     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" #1
Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" (т.е. сумму элементов главной диагонали). Использовать функцию для нахождения следа матрицы и функцию печати матрицы.

Помогите пожалуйста. Буду очень благодарна.
(язык СИ ( обычный))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 19:47     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след"
Посмотрите здесь:

C++ Напечатать ту матрицу из двух, которая имеет минимальный след
C++ Даны две действительные квадратные матрицы порядка n
C++ Даны две строки. Если они начинаются с одинаковых символов, то напечатать "ДА", иначе - "НЕТ"
C++ Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: путем умножения элементов каждой строки первой матрицы на наибольшее из
1)Даны две действительные квадратные матрицы порядка n. Получить новую матрицу : А) умножение элементов каждой строки первой матрицы на наибольшее из C++
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольш C++
C++ Даны две квадратные матрицы размером n×n. Проверить, совпадают ли они
Даны две квадратные матрицы.Вычислить третью по формуле C++
Даны три квадратные матрицы А, В, С n-го порядка. Вывести на печать ту из них, норма которой наименьшая C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5923 / 3360 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.10.2011, 20:27     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" #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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void fill(int **array, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
        for(j = 0; j < n; j++)
            array[i][j] = rand() % 20;
}
 
void show(int **array, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
            printf("%4d", array[i][j]);
        printf("\n");
    }
}
 
int sum_of_diag(const int **array, int n)
{
    int sum = 0, i;
    for(i = 0; i < n; sum += array[i][i], i++);
    return sum;
}
 
int main(int argc, char **argv)
{
    const int n = 4;
    int **a, **b;
    int i;
    int sum_a, sum_b;
    a = (int**) malloc(sizeof(int*) * n);
    b = (int**) malloc(sizeof(int*) * n);
    srand(time(NULL));
    for(i = 0; i < n; i++)
    {
        a[i] = (int*) malloc(sizeof(int) * n);
        b[i] = (int*) malloc(sizeof(int) * n);
    }
    fill(a, n);
    fill(b, n);
    printf("Array a: \n");
    show(a, n);
    printf("Array b: \n");
    show(b, n);
    
    printf("Sum of a diag: %d\n", sum_a = sum_of_diag(a, n));
    printf("Sum of b diag: %d\n", sum_b = sum_of_diag(b, n));
    if (sum_a < sum_b)
    {
        printf("A:\n");
        show(a, n);
    }
    else
    {
        printf("B:\n");
        show(b, n);
    }
    for(i = 0; i < n; i++)
    {
        free(a[i]);
        free(b[i]);
    }
    free(a);
    free(b);
    system("pause");
    return 0;
}
Сыроежка
Заблокирован
26.10.2011, 20:39     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" #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
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void fill(int **array, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
        for(j = 0; j < n; j++)
            array[i][j] = rand() % 20;
}
 
void show(int **array, int n)
{
    int i, j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
            printf("%4d", array[i][j]);
        printf("\n");
    }
}
 
int sum_of_diag(const int **array, int n)
{
    int sum = 0, i;
    for(i = 0; i < n; sum += array[i][i], i++);
    return sum;
}
 
int main(int argc, char **argv)
{
    const int n = 4;
    int **a, **b;
    int i;
    int sum_a, sum_b;
    a = (int**) malloc(sizeof(int*) * n);
    b = (int**) malloc(sizeof(int*) * n);
    srand(time(NULL));
    for(i = 0; i < n; i++)
    {
        a[i] = (int*) malloc(sizeof(int) * n);
        b[i] = (int*) malloc(sizeof(int) * n);
    }
    fill(a, n);
    fill(b, n);
    printf("Array a: \n");
    show(a, n);
    printf("Array b: \n");
    show(b, n);
    
    printf("Sum of a diag: %d\n", sum_a = sum_of_diag(a, n));
    printf("Sum of b diag: %d\n", sum_b = sum_of_diag(b, n));
    if (sum_a < sum_b)
    {
        printf("A:\n");
        show(a, n);
    }
    else
    {
        printf("B:\n");
        show(b, n);
    }
    for(i = 0; i < n; i++)
    {
        free(a[i]);
        free(b[i]);
    }
    free(a);
    free(b);
    system("pause");
    return 0;
}
Насколько мне известно из математики, матрицы не обязательно бывают квадратные!
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
26.10.2011, 20:39     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" #4
Цитата Сообщение от Сыроежка Посмотреть сообщение
Насколько мне известно из математики, матрицы не обязательно бывают квадратные!
След определен только для квадратных матриц, вообще он явл.оператором на множестве квадратных матриц
Сыроежка
Заблокирован
26.10.2011, 20:42     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" #5
Цитата Сообщение от Thinker Посмотреть сообщение
След определен только для квадратных матриц, вообще он явл.оператором
Действительно, у не квадратной матрицы, фактически, нет главной диагонали,или она какая-то вырожденная.
Yandex
Объявления
26.10.2011, 20:42     Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след"
Ответ Создать тему
Опции темы

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