Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 28.05.2017
Сообщений: 4
1

Программа определения количества симметричных матриц

28.05.2017, 13:34. Просмотров 726. Ответов 2

Заданы две матрицы С(4, 4) и D(3, 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
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Laba7
{
    class Program
    {
        static void Main(string[] args)
        {
            Int32[,] c = new Int32[4, 4];
            Int32[,] ct = new Int32[4, 4];
            Int32[,] d = new Int32[3, 3];
            Int32[,] dt = new Int32[3, 3];
            Int32 p1, p2;
            int ic, jc, id, jd;
            Console.WriteLine("Введите массив C");
            for (ic = 0; ic < 4; ic++)
            {
                for (jc = 0; jc < 4; jc++)
 
                    c[ic, jc] = Convert.ToInt32(Console.ReadLine());
            }
            for (ic = 0; ic < 4; ic++)
            {
                for (jc = 0; jc < 4; jc++)
                {
                    Console.Write("{0,5}", c);
                }
                Console.WriteLine();
            }
            // transp(c, 4, ct); 
            if (c.Equals(ct))
            {
                Console.WriteLine("Массив С симметричный");
                p1 = c[1, 2] + c[1, 3] + c[1, 4] + c[2, 1] + c[2, 3] + c[2, 4] + c[3, 1] + c[3, 2] + c[3, 4] + c[4, 1] + c[4, 2] + c[4, 3];
                Console.WriteLine(p1);
            }
            else
                Console.WriteLine("Массив С не симметричный");
 
 
            Console.WriteLine("Введите массив D");
            for (id = 0; id < 3; id++)
            {
                for (jd = 0; jd < 3; jd++)
                    d[id, jd] =
                    Convert.ToInt32(Console.ReadLine());
            }
            transp(d, 3, dt);
            if (d.Equals(dt))
            {
                Console.WriteLine("Массив D симметричный");
                p2 = d[1, 2] + d[1, 3] + d[2, 1] + d[2, 3] + d[3, 1] + d[3, 2];
                Console.WriteLine(p2);
            }
            else
                Console.WriteLine("Массив D не симметричный");
 
 
 
 
 
        }
 
        static void transp(Int32[,] mtr, int p, Int32[,] mtrt)
        {
            int i; int j;
            for (i = 0; i < p; i++)
            {
                for (j = 0; j < p; j++)
                    mtrt[j, i] = mtr[i, j];
            }
        }
    }
}
ИЗВИНИТЕ,ЕСЛИ НЕПРАВИЛЬНО ОФОРМИЛ. ОЧЕНЬ НАДО. БУДУ БЛАГОДАРЕН
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2017, 13:34
Ответы с готовыми решениями:

Программа определения количества боёв: Определить воинское звание исходя из него
Привет, начал писать программу на c#(к сожалению мало знаний) и столкнулся с проблемой, а точнее...

Написать программа для определения произведения матриц
Помогите! Даны 2 матрицы A(3,3) и B(3,3) Нужно написать программа проверки-является ли произведение...

Программа определения количества дней в месяце
Первое мое задание в питоне, да и вообще в программировании. При запуске питон ругается на &quot;elif&quot;....

Программа определения суммы и количества элементов массива
Задан массив A из N=10 элементов. Написать программу определения суммы и количества элементов...

2
72 / 72 / 96
Регистрация: 29.09.2012
Сообщений: 232
28.05.2017, 19:15 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
85
86
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            int i, j;
            int[,] C = new int[4, 4];
            int[,] D = new int[3, 3];
            Console.WriteLine("Заполните матрцу C");
            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 4; j++)
                {
                    Console.Write("Введите элемент [{0},{1}] ",i,j);
                    C[i, j] = int.Parse(Console.ReadLine());
                }
            }
            Console.WriteLine("Заполните матрцу D");
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j < 3; j++)
                {
                    Console.Write("Введите элемент [{0},{1}] ", i, j);
                    D[i, j] = int.Parse(Console.ReadLine());
                }
            }
            if (Semetr(C))
            {
                int sum = 0;
                for (i = 0; i < 4; i++)
                {
                    for (j = 0; j < 4; j++)
                    {
                        if (i != j)
                        {
                            sum += C[i, j];
                        }
                    }
                }
                        Console.WriteLine("Сумма : {0} ",sum);
                        Console.WriteLine("Матрица C : семетрична");
            }
            else
                Console.WriteLine("Матрица C : не семетрична");
            if (Semetr(D))
            {
                int sum = 0;
                for (i = 0; i < 3; i++)
                {
                    for (j = 0; j < 3; j++)
                    {
                        if (i != j)
                        {
                            sum += D[i, j];
                        }
                    }
                }
                Console.WriteLine("Сумма : {0} ", sum);
                Console.WriteLine("Матрица D : семетрична");
            }
            else
                Console.WriteLine("Матрица D : не семетрична");
            Console.ReadKey();
        }
        static bool Semetr(int[,] a)
        {
            bool symm = true;
            for (int i = 0; i < a.GetLength(0); ++i)
            {
                for (int j = 0; j < a.GetLength(1); ++j)
                    if (a[i, j] != a[j, i])
                    {
                        symm = false;
                        break;
                    }
                if (!symm) break;
            }
            return symm;
        }
    } 
 
 
}
0
0 / 0 / 0
Регистрация: 28.05.2017
Сообщений: 4
28.05.2017, 19:58  [ТС] 3
спасибо друг)))
выручил....2 день маялся с ней...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2017, 19:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Сложение симметричных матриц
Как сложить две симметричные матрицы, заданные в верхнем треугольнике относительно главной...

Умножение симметричных матриц
Доброго времени суток. У нас задана симметрическая матрица в виде одномерного массива, где хранятся...

Не работает программа для определения количества цифр в натуральном числе
Написал простую программу для определение кол-ва цифр в натуральном числе. Однако она не работает...


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

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

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