Многомерный массив

 
0
 
.NET
ava
ody | 17.02.2013, 10:38
Товарищи Форумчане появилась проблема, а точнее не как не могу осуществить задуманную идею.
Есть многомерный массив содержащий элементы и заполняемый значениями полученными из формулы

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{

    class Sample
    {

        static void Main()
        {
            int m1=1, n1=2;
            double[,] Massiv = new double[5, 5];
            List<double> listmin = new List<double>();
            for (int m = 0; m < 5; m++)
            {
                Console.WriteLine("новый");
                for (int n = 0; n < 5; n++)
                {
                    Massiv[m, n] = 2 / Math.Sqrt(Math.Pow(m / 1, 2) + Math.Pow(n / 0.5, 2));
                    Console.WriteLine("{0}:{1} = {2}", m, n, Massiv[m, n]);

                }
            }
            
            Console.WriteLine("\n Число с индексом {0}:{1} = {2}", m1, n1, Massiv[m1, n1]);

            Console.WriteLine("\nс индексами отличными от нуля");
            for (int m = 0; m < 5; m++)
            {
                for (int n = 0; n < 5; n++)
                {
                    if(m>0 && n>0)
                    Console.WriteLine("{0}:{1} = {2}", m, n, Massiv[m, n]);

                }
            }
            Console.WriteLine("\nС индексами принимающими 0 но не одновременно");

            for (int m = 0; m < 5; m++)
            {
                for (int n = 0; n < 5; n++)
                {
                    if (m == 0 && n > 0 || n == 0 && m > 0)
                        Console.WriteLine("{0}:{1} = {2}", m, n, Massiv[m, n]);

                }
            }

            Console.Read();
        }



    }
}

Нужно найти максимально минимальный элемент и максимально минимальный элемент от заданного элемента. т.е. здесь уже задан элемент с индексом 1:2 ~0,485.  Максимально минимальный элемент 4:1 и 2:2 и равны 0,447. а минимально максимальный 2:1 и равен 0,5.
Мне нужен код который будет искать искать эти значения основываясь на введенном элементе. вот ломал голову как сделать это! и есть один нюанс! если задан элемент с индексами не равным 0 то и искаться min и max должны среди элементов индексы которых не равны 0. Надеюсь на вашу помощь! буду очень благодарен!
Ответы (5)
ava
ody | 17.02.2013, 11:54 #
Люди добрые помогите. очень нужно!
ava
Экскалупатор | 17.02.2013, 17:41 #
Цитата (ody @  17.2.2013,  08:38 findReferencedText)
Максимально минимальный


Цитата (ody @  17.2.2013,  08:38 findReferencedText)
минимально максимальный


 smile 
колдунство какое то страшное  smile 
я так понимаю, что первое это самое маленькое значение(тогда это просто минимальное). хотя где то у меня есть мысль что имеется ввиду значение, которое максимальное из всех значений, которые меньше заданного?

и со вторым определением тож самое, надо значение которое будет наименьшим из всех чисел, которые больше заданного?

про индексы вообще в каком то тумане. индексы не 0, т.е. ВСЕ кроме 0? или ВСЕ такие же как заданный индекс?

в общем конкретнее надо бы...

приведи пример работы программы. напиши небольшой массив и распиши что и как дожно искаться.
ava
ody | 17.02.2013, 20:18 #
1:1 = 0.894427190999916
1:2 = 0.485071250072666
1:3 = 0.328797974610715
1:4 = 0.248069469178417
2:1 = 0.707106781186547
2:2 = 0.447213595499958
2:3 = 0.316227766016838
2:4 = 0.242535625036333
3:1 = 0.554700196225229
3:2 = 0.4
3:3 = 0.298142396999972
3:4 = 0.234082294392261
4:1 = 0.447213595499958
4:2 = 0.353553390593274
4:3 = 0.277350098112615
4:4 = 0.223606797749979

попробую выразится яснее))))
вот часть массива! есть число: (1:2 это его место в массиве)
1:2 = 0.485071250072666
мне нужно найти ни самое минимальное и самое максимальное число, а максимальное из из минимальных до 0.485071250072666 и минимальное из максимальных от 0.485071250072666

то есть это тоже самое последовательность
1, 2, 3, 4, 5, 6, 7

есть число 5 и для него максимальный из минимальных будет 4 а минимальный из максимальных 6!
Только в массиве все числа идут не отсортированные и нужно построить условие чтобы найти среди них условно 4 и 6. Думал отсортировать массив, а потом поиском найти элемент и взять следующий и предыдущий элемент, но тогда теряется их строгая последовательность, а это очень важно сохранить их последовательность! В общем массив Нужно оставить нетронутым! smile 
ava
IBS | 18.02.2013, 12:23 #
в чем проблема, то! Задал минимальным (min) любое число, пошел по всему массиву и смотришь: если выполняется условие(min>a[x,y] && a[x,y]>0.485071250072666) то загнать его в min...
ava
Экскалупатор | 19.02.2013, 01:49 #
Цитата (ody @  17.2.2013,  19:18 findReferencedText)
Думал отсортировать массив, а потом поиском найти элемент и взять следующий и предыдущий элемент, но тогда теряется их строгая последовательность, а это очень важно сохранить их последовательность! В общем массив Нужно оставить нетронутым!

ну как вариант можно сделать из одного массива два, и сортировать их. т.е. из массива вида 4,8,5,3,8,0,7,34,1 при введенном числе "0", получаем два массива
4,8,5,3,8 и 7,34,1
сортируем их и берем нужные элементы.

еще можно взять следующий вариант, для решения задачи без сортировки массива и что бы был только один проход по массиву. реализуем банально поиск min и max, так как сказал IBS, т.е. задаем первое число из той части массива, в которой будем искать, как min max соответственно. потом проверяем каждое следующее число на соответствие условию. и таким образом находим то что нам нужно.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить