Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2012, 14:31   #1
NeoX_2011
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 25
По умолчанию Является ли матрица 10-го порядка симметричной

Помогите пожалуйста определить, является ли заданная целая квадратная матрица 10-го порядка симметричной (относительно главной диагонали). Это на C#
NeoX_2011 вне форума Ответить с цитированием
Старый 18.03.2012, 14:58   #2
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Код:
for(int i=0; i<10; i++) for(int j=0; j<i; j++) if(matrix[i, j] != matrix[j, i]) return false;
return true;
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 18.03.2012, 15:02   #3
NeoX_2011
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 25
По умолчанию

А как ее задать, объясните пожалуйста
NeoX_2011 вне форума Ответить с цитированием
Старый 18.03.2012, 15:05   #4
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Это вы мне объясните как ее задать. Она из файла должна вводится? Или пользователь в консоли пишет?
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 18.03.2012, 15:07   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от NeoX_2011 Посмотреть сообщение
А как ее задать, объясните пожалуйста
Код:
for (int i = 0; i<N; i++)
	{
	for (int j = 0; j<N; j++)
		//запрос ввода элемента матрицы и ввод
	};
Вадим Мошев вне форума Ответить с цитированием
Старый 18.03.2012, 15:08   #6
NeoX_2011
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Lasur Посмотреть сообщение
Это вы мне объясните как ее задать. Она из файла должна вводится? Или пользователь в консоли пишет?
Если б я это сам знал))) можете пожалуйста показать эти два способа
NeoX_2011 вне форума Ответить с цитированием
Старый 18.03.2012, 15:13   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Как вводить с экрана я показал выше
Вадим Мошев вне форума Ответить с цитированием
Старый 18.03.2012, 15:29   #8
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

C консоли:
Код:
var matrix = new int[10, 10];
for (int i = 0; i<10; i++) for (int j = 0; j<10; j++)
{
    Console.WriteLine("Input a[{0}, {1}]:", i, j);
    matrix[i, j] = int.Parse(Console.ReadLine());
};
Так как это, похоже, лаба иль что-то похожее и вам не сказали как ее вводить этого способа должно хватить.

UPD: не заметил, что уже есть ответ...
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.

Последний раз редактировалось Lasur; 18.03.2012 в 15:52.
Lasur вне форума Ответить с цитированием
Старый 18.03.2012, 16:48   #9
NeoX_2011
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 25
По умолчанию

Ну вот я делаю так (переделал по матрицу 3х3), но у меня после каждой введеной цифры говорит симметрична или нет, а мне надо только после того, как введу полностью:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication17
{
    class Program
    {
        static void Main(string[] args)
        {
            var matrix = new int[3, 3];
            for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++)
                {
                    Console.WriteLine("Вводите a[{0}, {1}]:", i, j);
                    matrix[i, j] = int.Parse(Console.ReadLine());
                    if (matrix[i, j] != matrix[j, i]) 
                        Console.WriteLine("Матрица не симметрична\n");
                       else
                      Console.WriteLine("Симметрична\n");};

            Console.ReadLine();
                }
        }
    }
NeoX_2011 вне форума Ответить с цитированием
Старый 18.03.2012, 16:53   #10
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Потому что сначала надо ее ввести. Полностью. А потом проверять. Причем ответ после проверки один, а не выводится в каждой итерации цикла.
Код:
public static bool IsSymmetrical(double[,] matrix)
{
    for(int i=0; i<10; i++) for(int j=0; j<i; j++) if(matrix[i, j] != matrix[j, i]) return false;
    return true;
}
И того два схожих цикла. Один для ввода, другой в методе для проверки. Обратите внимание, что в цикле проверки на симметричность j<i.
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.

Последний раз редактировалось Lasur; 18.03.2012 в 16:57.
Lasur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
матрица порядка n milashka_92@e1.ru Фриланс 10 11.06.2010 00:02
квадратная матрица N–го порядка Антонова Евгения Помощь студентам 4 30.04.2010 17:41
Проверить, является ли заданная строка симметричной. - Ассемблер VHomer Помощь студентам 3 27.12.2008 19:37
Delphi, матрица n-го порядка ПаФка Помощь студентам 1 09.12.2008 14:55
Матрица n-го порядка deadh5n1 Помощь студентам 1 07.12.2008 14:03