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

C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять

их местами
Павло Втер
Павло Втер
399
if (array.Length < 2) throw new Exception("В массиве требуется минимум 2 элемента")
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
Sergey Belov
Sergey Belov
19 854
Лучший ответ
Павло Втер Зачем нужна эта строчка
var distanceSum = Math.Abs(max - (array[0] + array[1]));
Павло Втер Спасибо большое все работает отлично
Эльвир Балтаев ОТВЕТ НА ВОПРОС
Бугаев Сергей Дмитриевич
Мудрец (19293)
if (array.Length < 2) throw new Exception("В массиве требуется минимум 2 элемента")
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
1 день назад
КОММЕНТАРИИ К ОТВЕТУ
andrey sergeev
Ученик (227)
Зачем нужна эта строчка
var distanceSum = Math.Abs(max - (array[0] + array[1]));
1 комментарий1 д.
andrey sergeev
Ученик (227)
Спасибо большое все работает отлично
комментировать1 д.
if (array.Length < 2) throw new Exception(two el.)
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
ФотоВидеоИсточник: Символов: 3800
if (array.Length < 2) throw new Exception(two el.)
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
if (array.Length < 2) throw new Exception(two el.)
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
if (array.Length < 2) throw new Exception("В массиве требуется минимум 2 элемента")
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
))
if (array.Length < 2) throw new Exception(two el.)
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
if (array.Length < 2) throw new Exception("В массиве требуется минимум 2 элемента")
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
ОТВЕТ НА ВОПРОС
Бугаев Сергей Дмитриевич
Мудрец (19293)
if (array.Length < 2) throw new Exception("В массиве требуется минимум 2 элемента")
var max = array[0];
for (var i = 1; i < N; i++) {
if (max < array[i]) {
max = array[i];
}
}
var el1 = 0;
var el2 = 1;
var distanceSum = Math.Abs(max - (array[0] + array[1]));
for (var i = 0; i < N; i++) {
for (var j = i + 1; j < N; j++) {
var ds = Math.Abs(max - (array[i] + array[j]));
if (ds < distanceSum) {
el1 = i;
el2 = j;
distanceSum = ds;
}
}
}
var temp = array[el1];
array[el1] = array[el2];
array[el2] = temp;
1 день назад
КОММЕНТАРИИ К ОТВЕТУ
andrey sergeev
Ученик (227)
Зачем нужна эта строчка
var distanceSum = Math.Abs(max - (array[0] + array[1]));
1 комментарий1 д.
andrey sergeev
Ученик (227)
Спасибо большое все работает отлично
комментировать1 д.
нет нетак не списывай не прав ответы 2 ответ пр
а+б =18
Вар а. б: интагир
риад а. б
энд

Похожие вопросы