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

Определить, является ли матрица симметричной относительно главной диагонали

31.03.2013, 18:50. Просмотров 760. Ответов 5
Метки нет (Все метки)

Помогите с программой. Заранее огромное спасибо.
Дана целочисленная прямоугольная матрица. Определить:
1. Является ли матрица симметричной относительно главной диагонали.
2. Сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2013, 18:50
Ответы с готовыми решениями:

Определить, является ли матрица симметричной относительно главной диагонали.
Здравствуйте :) Не могли бы вы мне помочь разобраться с задачкой. Нужно выяснить, является ли...

Определить, является ли матрица симметричной относительно главной диагонали
Дана целочисленная прямоугольная матрица. Определить: 1. Является ли матрица симметричной...

Массив: Определить, является ли заданная квадратная матрица А(5,5) симметричной относительно главной диагонали.
Определить, является ли заданная квадратная матрица А(5,5) симметричной относительно главной...

Определить, является ли заданная целая квадратная матрица n-го порядка симметричной относительно главной диагонали
Дана задача: Определить, является ли заданная целая квадратная матрица n-го порядка симметричной...

Проверить, является ли матрица симметричной относительно главной диагонали
Симметричная матрица Дана квадратная матрица. Проверить, является ли она симметричной относительно...

5
Urety
Заблокирован
31.03.2013, 19:29 #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
  //Условие
            int[,] init = {
                          {0,2,3,4,5},
                          {2,0,-1,4,-5},
                          {3,-1,0,4,5},
                          {4,4,4,0,5},
                          {5,-5,5,5,0}
                          };
 
            //Симметричной, сумму
            bool index = true;
            bool index2 = true;
            int sum = 0;
            for (int i = 0; i < init.GetLength(0); i++)
            {
                sum = 0;
                index2 = true;
                for (int j = 0; j < init.GetLength(0); j++)
                {
                    if (init[i, j] != init[j, i]) index = false;
                    sum += init[i, j];
                    if (init[i, j] < 0) index2 = false;
                    if (j + 1 == init.GetLength(0) && !index2) Console.WriteLine("Сумма " + sum + " строки " + (i+1));
                }
            }
            Console.WriteLine((index) ? "Симметричная" : "Не симметричная");
0
Светка77
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 30
15.04.2013, 20:57  [ТС] #3
помогите пожалуйста комментарии написать)
0
BeBrave
7 / 29 / 7
Регистрация: 04.04.2013
Сообщений: 282
15.04.2013, 21:02 #4
Цитата Сообщение от Светка77 Посмотреть сообщение
помогите пожалуйста комментарии написать)
коментарии к чему?
код выше и так закоментирован - там разбирать то нечего
0
Светка77
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 30
25.04.2013, 18:58  [ТС] #5
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
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication26
{
class Program
{
static void Main(string[] args)
{
StreamReader c = new StreamReader("h:\\dannie.txt");//объявление файловой переменной для чтения из .txt-файла
StreamWriter z = new StreamWriter("h:\\otvet.txt");//объявление файловой переменной для записи в .txt-файл
string q;
q = c.ReadLine();//считывание из файла
int n = int.Parse(q);
 
int[,] a = new int[n, n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
q = c.ReadLine();//считывание из файла
a[i, j] = int.Parse(q); 
}
}
z.WriteLine(" Квадратная матрица имеет вид");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
z.Write(Convert.ToString(a[i, j]) + ' ');
}
z.WriteLine('\n');
}
 
//Симметричная, сумму
bool index = true;
bool index2 = true;
int sum = 0;
for (int i = 0; i < a.GetLength(0); i++)
{
sum = 0;
index2 = true;
for (int j = 0; j < a.GetLength(0); j++)
{
if (a[i, j] != a[j, i]) index = false;
sum += a[i, j];
if (a[i, j] < 0) index2 = false;
if (j + 1 == a.GetLength(0) && !index2) z.WriteLine("Сумма " + sum + " строки " + (i + 1));
}
}
z.WriteLine((index) ? "Симметричная, относительно главной диагонали" : "Не симметричная, относительно главной диагонали");
Console.ReadKey();
c.Close();
z.Close();
 
}
}
}
Я доработала программу, недостаточно комментариев , помогите пожалуйста написать.
Буду очень благодарна за помощь.
0
Sergey1111
3 / 3 / 4
Регистрация: 17.12.2012
Сообщений: 180
25.04.2013, 19:21 #6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication26
{
class Program
{
static void Main(string[] args)
{
StreamReader c = new StreamReader("h:\\dannie.txt");//объявление файловой переменной для чтения из .txt-файла
StreamWriter z = new StreamWriter("h:\\otvet.txt");//объявление файловой переменной для записи в .txt-файл
string q;
q = c.ReadLine();//считывание из файла
int n = int.Parse(q);
 
int[,] a = new int[n, n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
q = c.ReadLine();//считывание из файла
a[i, j] = int.Parse(q); 
}
}
z.WriteLine(" Квадратная матрица имеет вид");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
z.Write(Convert.ToString(a[i, j]) + ' ');
}
z.WriteLine('\n');
}
 
//Симметричная, сумму
bool index = true;// логическим переменным присваивается значения истинно
bool index2 = true;
int sum = 0;
for (int i = 0; i < a.GetLength(0); i++)
{
sum = 0;
index2 = true;
for (int j = 0; j < a.GetLength(0); j++)
{
if (a[i, j] != a[j, i]) index = false;
sum += a[i, j];
if (a[i, j] < 0) index2 = false;
if (j + 1 == a.GetLength(0) && !index2) z.WriteLine("Сумма " + sum + " Строка " + (i + 1));
}
}
z.WriteLine((index) ? "Симметричная, относительно главной диагонали" : "Не симметричная, относительно главной диагонали"); // если значение index истинное то Симметричная иначе не симметричная
Console.ReadKey();
c.Close();
z.Close();
 
}
}
}
1
25.04.2013, 19:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 19:21

Выяснить, является ли заданная матрица симметричной относительно главной диагонали
Дан массив размером n×n, элементы которого целые числа.Выяснить, является ли матрица симметричной...

Двумерные массивы (является ли матрица симметричной относительно главной диагонали)
Дан массив размером nxn ,элементы которого целые числа. Выяснить, является ли матрица...

Определить, является ли двумерный массив симметричным относительно главной диагонали
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная...


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

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

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