Другие языки программирования и технологии

Помогите решить по С# Пожалуйста Бедному студенту!

Дан целочисленный массив размера N . Найти номера двух ближайших элементов из этого массива (т. е. элементов с наименьшим модулем разности)
и вывести эти номера в порядке возростания.
using System;

class Program {
    static void Main() {
        Console.Write("размер массива? ");
        var n = int.Parse(Console.ReadLine());
        int[] a = new int[n];
        var rnd = new Random();
        Console.WriteLine("массив: ");
        for (var c = 0; c < n; ++c) Console.Write("{0} ", a[c] = rnd.Next(100));
        int i1 = 0, i2 = 1;
        for (var r = 0; r < n - 1; ++r) {
            for (var c = r + 1; c < n; ++c) {
                if (Math.Abs(a[r] - a[c]) < Math.Abs(a[i1] - a[i2])) {
                    i1 = r;
                    i2 = c;
                }
            }
        }
        Console.WriteLine("\nискомые номера: {0} {1}", i1 + 1, i2 + 1);
        Console.ReadKey();
    }
}
Юрий Киприянов
Юрий Киприянов
92 217
Лучший ответ
Бедный студент сам в силах это сделать. Если мозги есть.
Так же как и методом пузырька. Только сравниваешь модуль разности чисел. Остальное просто.
Велкам ту детский сад.