Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/55: Рейтинг темы: голосов - 55, средняя оценка - 4.96
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880

Возведение матрицы в степень

20.10.2016, 09:20. Показов 10445. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Консольное приложение. Которое подносит к произвольной степени матрицу произвольной размерности. Степень и размерность матрицы задается с клавиатуры.

Добавлено через 29 минут
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
static void Main(string[] args)
        {
            Console.WriteLine("\n [ Lab_1, part_2, task_5, option_12 (Andriy Hudz)]");
            Console.Write(" Enter the size of the matrix: ");
            uint nSizeMatrix, Degree;
            const int MIN = -50, MAX = 50;
            if(uint.TryParse(Console.ReadLine(), out nSizeMatrix) && nSizeMatrix < 10)
            {
                Console.WriteLine("\n\n Your matrix:");
                Random rand = new Random();
                int[,] MyMatrix = new int[nSizeMatrix, nSizeMatrix];
                for(int i = 0; i < nSizeMatrix; ++i)
                {
                    for(int j = 0; j < nSizeMatrix; ++j)
                    {
                        MyMatrix[i, j] = rand.Next(MIN, MAX);
                        Console.Write(" [{0,3}]", MyMatrix[i, j]);
                    }
                    Console.Write("\n");
                }
 
                Console.Write("\n\n Enter the degree of the matrix: ");
                if (uint.TryParse(Console.ReadLine(), out Degree) && Degree < 5)
                {
                    int tmp = 0;
                    for (int i = 0; i < nSizeMatrix; ++i)
                    {
                        for (int j = 0; j < nSizeMatrix; ++j)
                        {
                            // УМНОЖЕНИЕ... ???
                        }
                    }
                }
            }
        }
Как дальше?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2016, 09:20
Ответы с готовыми решениями:

Возведение матрицы в степень.
Тупая семестровая задачка...Вообщем звучит так: &quot;Следом квадратной матрицы называется сумма элементов, расположенных на главной...

возведение в степень матрицы
Помогите, пожалуйста, написала программу в си# возведение в степень матрицы, выводит ответ, но неправильный(((, в чём ошибка? Вот...

Возведение большой матрицы, читаемой с файла, в степень N, и запись обратно в файл на C#
Доброго времени. Очень нужно написать программу на C#, которая прочитает с файла огромную матрицу с вещественными числами (допустим, 1000...

28
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
20.10.2016, 13:36  [ТС]
Студворк — интернет-сервис помощи студентам
Никто не может ответить?

Добавлено через 2 минуты
Цитата Сообщение от halk0812 Посмотреть сообщение
Секунду. Вы без ref пробовали передавать?
Ну да.
0
71 / 58 / 31
Регистрация: 05.09.2013
Сообщений: 666
20.10.2016, 13:37
Цитата Сообщение от andreyananas Посмотреть сообщение
Ну да.
И как?
0
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
20.10.2016, 13:41  [ТС]
Цитата Сообщение от halk0812 Посмотреть сообщение
И как?
Ну программа нормально работает.
0
71 / 58 / 31
Регистрация: 05.09.2013
Сообщений: 666
20.10.2016, 13:42
Цитата Сообщение от andreyananas Посмотреть сообщение
Никто не может ответить?
А в чем проблема?)
1
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
20.10.2016, 14:26  [ТС]
Цитата Сообщение от halk0812 Посмотреть сообщение
А в чем проблема?)
Вот мое утверждение правильное?
Цитата Сообщение от andreyananas Посмотреть сообщение
Без ref мы бы передавали матрицу по значению, а значит каждый раз при вызове функции происходило бы копирование матрицы, ИЛИ НЕТ?
Если да, тогда разве не лучше с ref?

Добавлено через 40 минут
Так что?
0
71 / 58 / 31
Регистрация: 05.09.2013
Сообщений: 666
20.10.2016, 14:28
"Массивы можно передавать в качестве аргументов для параметров методов.Поскольку массивы являются ссылочными типами, метод может изменять значение элементов."
Цитирую Передача массивов в качестве аргументов (Руководство по программированию на C#)
1
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
20.10.2016, 14:46  [ТС]
Цитата Сообщение от halk0812 Посмотреть сообщение
"Массивы можно передавать в качестве аргументов для параметров методов.Поскольку массивы являются ссылочными типами, метод может изменять значение элементов."
Цитирую Передача массивов в качестве аргументов (Руководство по программированию на C#)
Благодарчик=)
0
 Аватар для Sanya_sa
913 / 817 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
20.10.2016, 14:56
Цитата Сообщение от andreyananas Посмотреть сообщение
Никто не может ответить?
Не используйте ref, убирите аргумет который задает размер, ведь Вы передаете метрицы! вот и получаете их размерность!

Добавлено через 37 секунд
И проверки сделайте в методе (к стати они в моем примере были.)
1
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
20.10.2016, 15:39
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
       static int[,] MultiplyMatrices(int[,] matA, int[,] matB)
        {
            int rows = matA.GetLength(0);
            int[,] result = new int[rows, rows];
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < rows; j++)
                {
                    int temp = 0;
                    for (int k = 0; k < rows; k++)
                    {
                        temp += matA[i, k] * matB[k, j];
                    }
                    result[i, j] += temp;
                }
            }
            return result;
        }
        static int [,] InitializeMatrix(int rows)
        {
            int[,] matrix = new int[rows, rows];
 
            Random r = new Random();
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < rows; j++)
                {
                    matrix[i, j] = r.Next(100);
                }
            }
            return matrix;
        }
        static int[,] CopyArray(int[,] matrix1)
        {
            int rows = matrix1.GetLength(0);
            int[,] matrix2 = new int[rows, rows];
 
            for (int j = 0; j < rows; j++)
                for (int i = 0; i < rows; i++)
                    matrix2[i,j] = matrix1[i, j];
            return matrix2;
        }
 
        static public void Print(int[,] arr)
        {
            for (int i = 0; i < arr.GetLength(1); i++)
            {
                for (int j = 0; j < arr.GetLength(0); j++)
                      Console.Write("{0}\t", arr[i, j]);
                    Console.WriteLine();
             }
            Console.WriteLine();
        }  
 
        static void Main()
        {
            int rows = 5;
            int[,] m1 = InitializeMatrix(rows);
            Print(m1);
            int[,] m2 = CopyArray(m1);
            int[,] res = MultiplyMatrices(m1, m2);
            Print(res);
            Console.ReadKey();
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2016, 15:39

Бинарное возведение в степень числа типа BigInteger в степень Biginteger
Здравствуйте. Не могу реализовать алгоритм бинарного возведения в степень. Есть 2 экземпляра BigInteger p,q. По методу Pow не...

Возведение в степень
Как я знаю, возведение дроби в степень 1^-1 меняет знаменатель и числитель Итак, есть два числа: n и m Они делятся. В любом случае...

Возведение в степень
Здравствуйте.Такая проблема,не могу возвести число Е в степень с не целым числом. double d = Math.Pow(-Math.E, 2); - работает double d...

Возведение в степень
Подробная задача: Определить количество повторений каждой из цифр 0,1,2,...,9 в числе NN (N в степени N), N &lt;=1000. Кому не жалко...

Возведение в степень
пишу код вот тут не получается Math.Pow(a, iList) / (iList+1); пишет что качестве оператора могут использоваться только выражения...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru