2016-07-16 2 views
0

У меня есть некоторые проблемы при преобразовании элементов в массив в абсолютные значения.Как получить абсолютные значения в каждом элементе массива

Console.WriteLine("\nQ = {0}, difference = |{1} - {2}| = {3} ", 
        a + 1, store[a], store2[a], Math.Abs(store3[a])); 

магазин3 представляет собой массив. Я уже ввел в нее некоторые элементы. и я получу правильный ответ , и проблема в том, что после получения абсолютного значения мне нужно найти минимальное значение массива, но оно возвращает отрицательное целое число. и я хочу только вернуть наименьшее или минимальное количество элементов по их абсолютной величине. Как я это сделаю. Надеюсь, ты понимаешь мой вопрос.

ответ

0

Вы можете использовать LINQ, чтобы получить значение Abs

store3Abs = store3.Select(x => Math.Abs(x)).ToArray(); 

Если вам не нужен промежуточный массив абс, вы можете просто получить минимум непосредственно

var min = store3.Select(x => Math.Abs(x)).Min(); 
+0

Как я могу отобразить минимум в консоли? – whomustnotbenamed

+0

, но он возвращает только 0 – whomustnotbenamed

+0

Каковы значения store3? 0 будет минимальным, если store3 имеет 0. Запись на консоль осуществляется с помощью метода Console.WriteLine – keyboardP

1

Если вы хотите «маленький или минимум элементов в их абсолютном значении», попробуйте прямой Min с требуемым лямбда:

store3.Min(x => Math.Abs(x)); 

Внедрение

Console.WriteLine("\nQ = {0}, difference = |{1} - {2}| = {3} ", 
        a + 1, 
        store[a], 
        store2[a], 
        store3.Min(x => Math.Abs(x))); 
Смежные вопросы