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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2019, 11:23   #1
pomogitemneplz
 
Регистрация: 02.12.2018
Сообщений: 8
По умолчанию Рeшите задaчу кто может! C#

Была задача:
Дан массив 5х5. Начертить вектор длиной 9, состоящий из максимумов элементов диагоналей, параллельных главной диагонали.
Задача готова, но ещё попросили дописать метод, находящий среднее арифметическое главной диагонали.
Никак не получается...(
Код:
using System;
 
namespace matr
{
    class Program
    {
        //Ввод массива
        static double[,] Input(int n)
        {
            double[,] A = new double[n, n];
             double avr = 0;
 
 
            Random rnd = new Random();
            for (int i = 0; i < n; i++) //цикл по строкам
                for (int j = 0; j < n; j++) //цикл по элементам строки
                {
                    A[i, j] = rnd.Next(-100, 100);
 
                }
            return A;
        }
        //вывод матрицы на экран
        static void Print(double[,] a)
        {
            Console.WriteLine();
            for (int i = 0; i < a.GetLength(0); i++)    //цикл по строкам
            {
                for (int j = 0; j < a.GetLength(1); j++)    //цикл по элементам строки
                    Console.Write("{0,6}", a[i, j]);
                Console.WriteLine();
            }
        }
        //обработка
        static double[] Process(double[,] a)
        {
            int n = a.GetLength(0);
            //массив флагов первых элементов в векторе
            bool[] fst = new bool[n + n - 1];
            for (int i = 0; i < n + n - 1; i++)
                fst[i] = true;
            double[] V = new double[n + n - 1];
            int from = -(n - 1);
            int to = n - 1;
            for (int j = from; j <= to; j++)
            {
                for (int i = 0; i < n; i++)
                {
                    if (i + j >= 0 && i + j < n)
                    {
                        if (fst[j + n - 1])
                        {
                            fst[j + n - 1] = false;
                            V[j + n - 1] = a[i, i + j];
                        }
                        else if (V[j + n - 1] < a[i, i + j])
                            V[j + n - 1] = a[i, i + j];
                    }
                }
            }
            return V;
        }
 
        static void Main(string[] args)
        {
            int n = 5;
            double[,] A = Input(n);
            Console.WriteLine("Исходный массив");
            Print(A);
            double[] V = Process(A);
            Console.WriteLine("Вектор");
            //вывод вектора
            for (int i = 0; i < n + n - 1; i++)
                Console.Write("{0,5}", V[i]);
            Console.ReadLine();
            
        }
    }
}
pomogitemneplz вне форума Ответить с цитированием
Старый 19.05.2019, 11:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от pomogitemneplz Посмотреть сообщение
Никак не получается...(
А что не получается? Там же один цикл и все практически. Не знаете, что такое главная диагональ или среднее арифметическое?
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рeшите задaчу кто может! C# pomogitemneplz Фриланс 1 05.05.2019 13:50
Рeшите задaчу кто может pomogitemneplz Фриланс 1 16.12.2018 16:08
Где и как скачать программу Delphi. Может кто нибудь может помочь мне - без скачивания из интернета. IZOPGRAM Общие вопросы Delphi 4 16.06.2012 18:12
Где можно скачать Borland C++ или может кто-то может скинуть dani6 C++ Builder 11 19.02.2011 14:01
Может быть так, что в мамку может попасть вирус и не загружать жесткий диск Berzhan Операционные системы общие вопросы 6 27.07.2009 21:40