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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2017, 18:02   #1
Профан546
 
Регистрация: 16.05.2016
Сообщений: 5
По умолчанию Вывести номера столбиков матрицы,сумма квадратов которых наименьшая.

В файле matrix.txt хранятся элементы числовой матрицы. Вывести номера столбиков матрицы,сумма квадратов которых наименьшая.
Профан546 вне форума Ответить с цитированием
Старый 29.06.2017, 21:11   #2
ZnZ
Пользователь
 
Регистрация: 14.06.2017
Сообщений: 45
По умолчанию

накидал по быстрому

1 3 5 2
2 1 8 4
5 2 2 3
-----------------------
30 14 93 29
-----------------------
Меньшее: 14 из 2 столбика

Код:
StreamReader sr = new StreamReader("matrix.txt");
            string s = "";
            List<int[]> lines = new List<int[]>();
            try
            {
                while ((s = sr.ReadLine()) != null)
                {
                    string[] sa = s.Split(' ');
                    int[] ints = new int[sa.Length];
                    for (int i = 0; i < sa.Length; i++)
                    {
                        ints[i] = int.Parse(sa[i]);
                    }
                    lines.Add(ints);
                }

                foreach(int[] arr in lines)
                {
                    foreach (int i in arr)
                    {
                        Console.Write(string.Format("{0,5} ", i));
                    }
                    Console.Write('\n');
                }

                int length = lines[0].Length * 5 + lines[0].Length - 1;
                Console.WriteLine(new String('-', length));

                int[] sum = new int[lines[0].Length];

                for(int x = 0; x < lines[0].Length; x++)
                {
                    for(int y = 0; y < lines.Count; y++)
                    {
                        int q = lines[y][x];
                        int r = (int)Math.Pow(q, 2);
                        sum[x] += r;
                    }
                    Console.Write(string.Format("{0,5} ", sum[x]));
                }
                Console.Write('\n');
                Console.WriteLine(new String('-', length));
                Console.WriteLine($"Меньшее: {sum.Min()} из {Array.IndexOf(sum, sum.Min()) + 1} столбика");
            }
            catch
            {
                Console.WriteLine("Чёт матрица не такая");
            }

            Console.ReadLine();

Последний раз редактировалось ZnZ; 29.06.2017 в 21:14.
ZnZ вне форума Ответить с цитированием
Старый 29.06.2017, 21:47   #3
Профан546
 
Регистрация: 16.05.2016
Сообщений: 5
По умолчанию

Спасибо большое,очень выручили)
Профан546 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти числа X и Y, сумма которых равно A, а сумма квадратов равна B. (на C++) Алина92 Помощь студентам 12 04.10.2021 10:14
вывести на экран, три случайных матрицы, в которых сумма строк и столбцов равны Riven7 Помощь студентам 5 14.11.2014 20:50
За один просмотр файла вывести все числа, сумма цифр которых наименьшая gylayko Помощь студентам 1 06.10.2012 20:49
даны три квадратные матрицы третьего порядка.вывести на экран ту из них,норма которой наименьшая. в качестве нормы матрицы взять м ayoka Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2012 18:28
Вывести номера тех столбцов, сумма элементов которых меньше нуля, и число таких столбцов Half Помощь студентам 7 16.04.2012 21:23