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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2013, 15:22   #1
GoldSieg
Пользователь
 
Регистрация: 02.10.2011
Сообщений: 45
По умолчанию С# Нахождение пары элементов с наименьшими отличиями друг от друга в массиве.

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

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            int [] myArr =new int[11];
            int A,B;
            B = 100;
            Random ran = new Random();
            for (int i = 0; i <10; i++)
            {
                myArr[i] = ran.Next(100);
                Console.Write("{0}\t", myArr[i]);
                A = (myArr[i] - myArr[i + 1]);
                if (A < B)
                {
                    B = A;
                }

            }
            Console.WriteLine("____",B);
            Console.ReadKey();
        }

    }
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.02.2013 в 11:02.
GoldSieg вне форума Ответить с цитированием
Старый 18.02.2013, 11:08   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

уточните, нужно найти пару соседних элементов, или стоящих ГДЕ угодно в массиве?
Так же, если таких элементов несколько, что должна выдавать программа?

например, есть дан массив 1 5 20 6 30 5 70 4 7
что должна выдать программа?



p.s. насчёт поиска минимума разности Вы правы, так и надо решать. Только разность нужно брать по модулю (Math.Abs(ОдинЭлемент - ВторойЭлемент) )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.02.2013, 11:43   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что должна выдать программа?
Единицу. Потому что самое минимальное расстояние между 5 и 6 а так же между 5 и 4.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.02.2013, 11:48   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Так же, если таких элементов несколько, что должна выдавать программа?


p.s. насчёт поиска минимума разности Вы правы, так и надо решать. Только разность нужно брать по модулю (Math.Abs(ОдинЭлемент - ВторойЭлемент) )
Здесь, наверное, есть аналогия с поиском экстремума в массиве. В данном случае, ИМХО, программа должна вернуть первую найденную пару таких элементов.
Вадим Мошев вне форума Ответить с цитированием
Старый 18.02.2013, 12:07   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
В данном случае, ИМХО, программа должна вернуть первую найденную пару таких элементов.
пару рядом стоящих или хоть где стоящих?
в 1-м случае 1 цикл (4 и 7)
во 2-м случае 2 цикла(вложенный) (5 и 6)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 18.02.2013, 12:41   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

хоть где стоящих
Вадим Мошев вне форума Ответить с цитированием
Старый 18.02.2013, 12:45   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Единицу. Потому что самое минимальное расстояние между 5 и 6 а так же между 5 и 4.
Виталий, если уже Вы берёте на себя смелость отвечать вместо автора топика, тогда, хотя бы, прочитайте предварительно выложенные им условия задачи:
Цитата:
дана задача. в массиве найти пару элементов с наименьшими отличиями и вывести их индексы.
Нужно индексы вывести...


p.s. всё равно хотелось бы услышать автора топика. Что он думает по этому поводу...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение в массиве одинаковой пары соседних чисел mimit Помощь студентам 2 15.11.2012 11:15
Нахождение положительных элементов в массиве [Assembler] Godod Помощь студентам 0 07.11.2010 19:58
Нахождение в массиве максимальной суммы элементов byte916 Microsoft Office Excel 1 07.10.2009 13:03
Найти в массиве квадратные корни наиболее удаленные друг от друга sher_man Помощь студентам 2 05.12.2007 10:15
Нахождение двух одинаковых элементов в массиве Stas))) Помощь студентам 4 01.06.2007 12:23