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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2017, 18:42   #1
Jeka14
 
Регистрация: 21.11.2017
Сообщений: 9
По умолчанию Матрицы

Помогите пожалуйста Pascal abc
Даны 2 матрицы А и B. Проверить равенство:
(А+B)’=А’+B’
Где А, B – исходные матрицы
А’, B’ – транспонированные матрицы
С помощью подпрограммы.

Последний раз редактировалось Jeka14; 10.12.2017 в 19:37.
Jeka14 вне форума Ответить с цитированием
Старый 10.12.2017, 18:58   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Ну равны. Ты то что хочешь?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 10.12.2017, 19:14   #3
Jeka14
 
Регистрация: 21.11.2017
Сообщений: 9
По умолчанию

Программу которая будет это проверять
Jeka14 вне форума Ответить с цитированием
Старый 10.12.2017, 23:02   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
using System;

namespace Rextester
{
    public class Program
    {
        static Random rnd = new Random();
        static int[,] TransposeMatrix(int[,] a)
        {
            int i,j;
            int n,m;
            int[,] b;
            n = a.GetLength(0);
            m = a.GetLength(1);
             b = new int[m,n];
            for(i=0;i<n;i++)
                for(j=0;j<m;j++)
                   b[j,i]=a[i,j];
            return b;
        }
        static int[,] AddMatrix(int[,] m1, int[,] m2)
        {
           int n = m1.GetLength(0);
           int m = m1.GetLength(1);
           int[,] r = new int[n,m];
           for(int i=0;i<n;i++)
           for(int j=0;j<m;j++)
              r[i,j] = m1[i,j]+m2[i,j];
           return r;
        }
        static bool IsEqual(int[,] m1,int[,]m2)
        {
            int n = m1.GetLength(0);
            int m = m1.GetLength(1);
            for(int i=0;i<n;i++)
                for(int j=0;j<m;j++)
                    if(m1[i,j]!=m2[i,j])
                        return false;
            return true;
        }
        static int[,] ReadMatrix(int n, int m)
        {
            int[,] a = new int[n,m];
            for(int i=0;i<n;i++)
                for(int j=0;j<m;j++)
                    a[i,j] = rnd.Next(20);
            return a;
        }
        static void PrintMatrix(int[,] mt)
        {
            int n = mt.GetLength(0);
            int m = mt.GetLength(1);
            Console.WriteLine();
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                    Console.Write("{0}  ",mt[i,j]);
                Console.WriteLine();
            }
        }
        public static void Main(string[] args)
        {
            int n = 5, m =5;
            int[,] a = new int[n,m];
            int[,] b = new int[n,m];
            int[,] c = new int[n,m];
            int[,] d = new int[n,m];
            a = ReadMatrix(n,m);
            b = ReadMatrix(n,m);
            c = AddMatrix(a,b);
            c = TransposeMatrix(c);
            PrintMatrix(c);
            a = TransposeMatrix(a);
            b = TransposeMatrix(b);
            d = AddMatrix(a,b);
            PrintMatrix(d);
            Console.WriteLine(IsEqual(c,d));
        }
    }
}
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 11.12.2017 в 07:59.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ и Pascal. Матрицы. Дана матрица размером n х m. Инвертировать каждую строку матрицы. Summerlight Помощь студентам 0 24.12.2013 00:19
В каждой строке матрицы А(n*n) найти наибольший и наименьший элементы матрицы и поменять их местами saha1994 Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 20:38
Первый элемент - размерность матрицы, остальные образуют строки этой матрицы Anastasiya_Pot Помощь студентам 2 10.04.2012 09:46
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19