Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 01.05.2018
Сообщений: 27

Необходимо переделать код. Квадратная матрица

11.06.2018, 23:00. Показов 909. Ответов 1

Студворк — интернет-сервис помощи студентам
Данная квадратная матрица A порядка M. Найти сумму элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A 1,1). Вот есть код, но тут для суммы элементов каждой диагонали , параллельной ГЛАВНОЙ, а не побочной. Помогите переделать для суммы диагоналей, которые параллельны побочной.

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
 static void diagon(int n, int[,] matr, int[] diag)
        {
            for (int i = 0; i < n; i++)
            {
                int s = 0;
                for (int j = 0; j < i + 1; j++)
                {
                    int i1 = n - 1 - i + j;
 
                    s += matr[i1, j];
                }
                diag[i] = s;
            }
            for (int i = n; i < 2 * n - 1; i++)
            {
                int s = 0;
                int i1 = i - n;
                for (int j = 0; j < n - i1 - 1; j++)
                {
                    int i2 = j + i1 + 1;
                    s += matr[j, i2];
                }
                diag[i] = s;
            }
        }
 
             
        static void Problem3()
        {
            int N = 4;
            int[,] matrix = new int[N, N];
            int[] diag = new int[2 * N - 1];
            Random rnd = new Random();
            Console.WriteLine("Матрица");
            for (int i = 0; i < N; i++)
            {
                for (int t = 0; t < N; t++)
                {
                    matrix[i, t] = rnd.Next(0, 10);
                    Console.Write(matrix[i, t] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            diagon(N, matrix, diag);
            for (int i = 0; i < 2 * N - 1; i++)
                Console.WriteLine("Номер диагонали = {0}, Сумма элементов = {1}", i + 1, diag[i]);
            Console.ReadKey();
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2018, 23:00
Ответы с готовыми решениями:

Квадратная матрица
Нужно сформировать квадратную матрицу порядка n по заданному образцу (n-чётное) http://s005.***********/i211/1001/ea/a8f90495d338.png

Квадратная матрица
Нужна помощь...Помогите код написать на С#? Спасибо) Дана квадратная матрица порядка М. Обнулить элементы матрицы, лежащие ниже...

C# Квадратная матрица
Хочу вывести на консоль квадратную матрицу, а у выводит одну цифру public static void Main(string args) { ...

1
 Аватар для diadiavova
7259 / 2606 / 745
Регистрация: 11.04.2015
Сообщений: 4,151
Записей в блоге: 43
12.06.2018, 10:17
the_evile_panda, я переделывать твое не буду, просто предложу свой вариант
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
using System;
using System.Collections.Generic;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] mx =
            {
                {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}
            };
            Console.WriteLine(String.Join(" ", CollateralSum(mx)));
            Console.WriteLine("Контрольные значения: \n1 8 21 40 65 64 57 44 25");
            Console.ReadKey();
 
        }
 
        static int[] CollateralSum(int[,] mx)
        {
            if (mx.GetLength(0) != mx.GetLength(1))
                throw new ArgumentException("Длины обоих измерений должны быть одинаковыми", "mx");
            var result = new List<int>();
            for (int i = 0; i < mx.GetLength(0) + mx.GetLength(1) - 1; i++)
            {
                int startCol = i < mx.GetLength(0) ? 0 : i - mx.GetLength(0) + 1;
                int startRow = startCol == 0 ? i : mx.GetLength(1) - 1;
                int curCol = startCol, curRow = startRow, sum = 0;
                do
                {
                    sum += mx[curRow--, curCol++];
                } while (curRow >= startCol);
                result.Add(sum);
            }
            return result.ToArray();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2018, 10:17
Помогаю со студенческими работами здесь

Квадратная матрица
Здарова форумчани!!! Нужна помощь, решил задачю по матрице на Паскале, а вот перевести её на С# не могу.... Сформировать квадратную...

Квадратная матрица
Здравствуйте. Нужно разобраться и Написать программу в Console Application , которая проверяет, является ли квадратом...

квадратная матрица
Пытаюсь задать квадратную матрицу, не получается, подскажите, что не так Console.Write(&quot;Число строк и столбцов R=&quot;); ...

Квадратная целочисленная матрица
Квадратная целочисленная матрица размером NxN заполняется от датчика случайных чисел в диапазоне значений от -50 до +50. Значение N...

Квадратная матрица в одномерную
Дана целочисленная квадратная матрица Z размером 8 * 8. Получить целочисленную одномерную последовательность X0, X2, ...,X63, элементами...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru