Дан целочисленный массив размера 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();
}
}
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();
}
}
Бедный студент сам в силах это сделать. Если мозги есть.
Так же как и методом пузырька. Только сравниваешь модуль разности чисел. Остальное просто.
Велкам ту детский сад.
Велкам ту детский сад.
Похожие вопросы
- помогите решить в VBA, пожалуйста)
- Пожалуйста, помогите решить задачку по информатике...
- Помогите решить задачи на Си! Пожалуйста!!!
- Пожалуйста помогите решить 3,4 !!!
- Помогите решить задачу в паскале, пожалуйста! !
- эм...кто силён в массивах??? :) помогите, пожалуйста,бедной студентке.. :)
- Помогите решить задание по HTML/CSS в Dreamweaver
- Помогите пожалуйста! Завтра экзамен не буду допущен без программы (( помогите решить ..
- Помогите решить матрица на С++
- Помогите решить задачу на Турбо паскале