С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 50
1

Упорядочить элементы главной диагонали матрицы по убыванию

25.11.2013, 22:33. Показов 3706. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Упорядочить элементы главной диагонали матрицы A(4, 4) в порядке убывания. Напечатать полученную матрицу
Смысл я как бы понимаю, но бред выходит. Что-то пытался кодить, но увы.
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
Console.WriteLine("Исходный массив B");
            double[,] A = { { 12, -5, 5.6, 3.5 }, { 12.2, -4, 6.7, 5.8 }, { -4, -5, 2, 3 }, { 4, 9, 8.1, 5.8 } };
            for (int i = 0; i < 4; ++i)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);
                }
            }
 
            Console.WriteLine("\n\n");
            double min = A[0, 0];        
            for (int i = 0; i < 3; ++i)
            {
                if (A[i + 1, i + 1] < min)
                {
                    A[i, i] = A[i + 1, i + 1];
                }
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);                   
                }
            }
            Console.ReadKey();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 22:33
Ответы с готовыми решениями:

Упорядочить по возрастанию элементы главной диагонали матрицы
7. Дана матрица А, упорядочить по возрастанию элементы главной диагонали. если можно с...

Перестановкой строк и столбцов упорядочить по возрастанию элементы главной диагонали квадратной матрицы
Люди помогите пожалуйста...Нужно программку на С#...: Перестановкой строк и столбцов упорядочить по...

Если максимальный элемент матрицы стоит на главной диагонали, то все элементы главной диагонали сделать равными максимальному.
Задана матрица D(4,4). Если максимальный элемент матрицы стоит на главной диагонали, то все...

Заменить все элементы главной диагонали квадратной матрицы нулями, если на главной диагонали есть хотя бы один отрицательный элемент
Заменить все элементы главной диагонали квадратной матрицы (4*4) нулями, если на главной диагонали...

8
3 / 3 / 1
Регистрация: 26.04.2013
Сообщений: 20
25.11.2013, 23:07 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            Console.WriteLine("\n\n");
            double temp;
            for (int j = 0; j < 3; ++j)
            {
                for (int i = 0; i < 3; ++i)
                {
                    if (A[i, i] < A[i + 1, i + 1])
                    {
                        temp = A[i, i];
                        A[i, i] = A[i + 1, i + 1];
                        A[i + 1, i + 1] = temp;
                    }
                }
            }
            Console.ReadKey();
1
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 50
25.11.2013, 23:26  [ТС] 3
Все равно не работает
1
3 / 3 / 1
Регистрация: 26.04.2013
Сообщений: 20
25.11.2013, 23:31 4
pavlentiysan, не работает? В чем заключается?
0
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 50
25.11.2013, 23:52  [ТС] 5
Последнюю строку и столбец обрезало совсем, а в том, что выводит, поменяны строки со столбцами
0
3 / 3 / 1
Регистрация: 26.04.2013
Сообщений: 20
26.11.2013, 00:08 6
pavlentiysan, скинь код.
0
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 50
26.11.2013, 00:21  [ТС] 7
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
Console.WriteLine("Исходный массив B");
            double[,] A = { { 12, -5, 5.6, 3.5 }, { 12.2, -4, 6.7, 5.8 }, { -4, -5, 2, 3 }, { 4, 9, 8.1, 5.8 } };
            for (int i = 0; i < 4; ++i)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);
                }
            }
 
            Console.WriteLine("\n\n");
            double temp;
            for (int j = 0; j < 3; ++j)
            {
                Console.WriteLine("\n");
                for (int i = 0; i < 3; ++i)
                {
                    if (A[i, i] < A[i + 1, i + 1])
                    {
                        temp = A[i, i];
                        A[i, i] = A[i + 1, i + 1];
                        A[i + 1, i + 1] = temp;
                    }
                    Console.Write("{0,5}", A[i, j]);
                }                
            }
            Console.ReadKey();
0
3 / 3 / 1
Регистрация: 26.04.2013
Сообщений: 20
26.11.2013, 00:38 8
pavlentiysan, вообще-то вывод массива в цикле сортировка - плохой смысл. В лучшем случае, написать отдельно. Например, после сортировки массива по диагонали:
C#
1
2
3
4
5
6
7
8
            for (int i = 0; i < 4; ++i)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);
                }
            }
Полный код, если интересно:
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
 Console.WriteLine("Исходный массив B");
            double[,] A = { { 12, -5, 5.6, 3.5 }, { 12.2, -4, 6.7, 5.8 }, { -4, -5, 2, 3 }, { 4, 9, 8.1, 5.8 } };
            for (int i = 0; i < 4; ++i)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);
                }
            }
 
            Console.WriteLine("\n\n");
            double temp;
            for (int j = 0; j < 3; ++j)
            {
                for (int i = 0; i < 3; ++i)
                {
                    if (A[i, i] < A[i + 1, i + 1])
                    {
                        temp = A[i, i];
                        A[i, i] = A[i + 1, i + 1];
                        A[i + 1, i + 1] = temp;
                    }
                }
            }
 
            for (int i = 0; i < 4; ++i)
            {
                Console.WriteLine("\n");
                for (int j = 0; j < 4; ++j)
                {
                    Console.Write("{0,5}", A[i, j]);
                }
            }
            Console.ReadKey();

И вот раз работает отлично.
1
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 50
26.11.2013, 00:47  [ТС] 9
Спасибо, все работает
0
26.11.2013, 00:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2013, 00:47
Помогаю со студенческими работами здесь

Упорядочить элементы главной диагонали матрицы по не убыванию
Задана квадратная матрица целых чисел. Упорядочить элементы главной диагонали мат-рицы по не...

Упорядочить по убыванию элементы матрицы, стоящие на главной диагонали
составить программу,которая упорядочивает по убыванию элементы,стоящие на главной диагонали

В строке матрицы с наибольшим элементом на главной диагонали, упорядочить элементы по убыванию
Дана матрица А(8,8) действительных чисел. Требуется в строке, с наибольшим элементом на главной...

В прямоугольной целочисленной матрицы упорядочить элементы размещенных на главной диагонали по убыванию
В прямоугольной целочисленной матрицы упорядочить элементы размещенных на главной диагонали по...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru