Си шарп среднее число
К агрегатным операциям относят различные операции над выборкой, например, получение числа элементов, получение минимального, максимального и среднего значения в выборке, а также суммирование значений.
Метод Aggregate
Метод Aggregate выполняет общую агрегацию элементов коллекции в зависимости от указанного выражения. Например:
int[] numbers = < 1, 2, 3, 4, 5>; int query = numbers.Aggregate((x,y)=> x - y); Console.WriteLine(query); // -13
Переменная query будет представлять результат агрегации массива. В качестве условия агрегации используется выражение (x,y)=> x — y , то есть вначале из первого элемента вычитается второй, потом из получившегося значения вычитается третий и так далее. То есть будет эквивалентно выражению:
В итоге мы получим число -13. Соответственно мы бы могли использовать любые другие операции, например, сложение:
int query = numbers.Aggregate((x,y)=> x + y); // аналогично 1 + 2 + 3 + 4 + 5
Еще одна версия метода позволяет задать начальное значение, с которого начинается цепь агрегатных операций:
string[] words = < "Gaudeamus", "igitur", "Juvenes", "dum", "sumus" >; var sentence = words.Aggregate("Text:", (first, next) => $" "); Console.WriteLine(sentence); // Text: Gaudeamus igitur Juvenes dum sumus
В данном случае объединяются все элементы массива words, но первым элемент агрегатной операции будет строка «Text:».
Получение размера выборки. Метод Count
Для получения числа элементов в выборке используется метод Count() :
int[] numbers = < 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 >; int size = numbers.Count(); // 10 Console.WriteLine(size);
Метод Count() в одной из версий также может принимать лямбда-выражение, которое устанавливает условие выборки. Поэтому мы можем в данном случае не использовать выражение Where :
int[] numbers = < 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 >; // количество четных чисел, которые больше 10 int size = numbers.Count(i => i % 2 == 0 && i > 10); Console.WriteLine(size); // 3
Получение суммы
Для получения суммы значений применяется метод Sum :
int[] numbers = < 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 >; int sum = numbers.Sum(); Console.WriteLine(sum); // 340
Метод Sum() имеет ряд перегрузок. В частности, если у нас набор сложных объектов, как в примере выше, то мы можем указать свойство, значения которого будут суммироваться:
Person[] people = < new Person("Tom", 37), new Person("Sam", 28), new Person("Bob", 41) >; int ageSum = people.Sum(p => p.Age); Console.WriteLine(ageSum); // 106 record class Person(string Name, int Age);
В данном случае вычисляется сумма значений свойств Age объектов Person из массива people.
Максимальное, минимальное и среднее значения
Для нахождения минимального значения применяется метод Min() , для получения максимального — метод Max() , а для нахождения среднего значения — метод Average() . Их действие похоже на методы Sum и Count:
int[] numbers = < 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 >; int min = numbers.Min(); int max = numbers.Max(); double average = numbers.Average(); Console.WriteLine($"Min: "); // Min: 1 Console.WriteLine($"Max: "); // Max: 88 Console.WriteLine($"Average: "); // Average: 34
Если мы работаем со сложными объектами, то в эти методы передается делегат, который принимает свойство, применяемое в вычислениях:
Person[] people = < new Person("Tom", 37), new Person("Sam", 28), new Person("Bob", 41) >; int minAge = people.Min(p => p.Age); // минимальный возраст int maxAge = people.Max(p => p.Age); // максимальный возраст double averageAge = people.Average(p => p.Age); //средний возраст Console.WriteLine($"Min Age: "); // Min Age: 28 Console.WriteLine($"Max Age: "); // Max Age: 41 Console.WriteLine($"Average Age: "); // Average Age: 35,33 record class Person(string Name, int Age);
В данном случае для вычислений применяется свойство Age, то есть вычисляется минимальный, максимальный и средний возраст.
Функция, вычисление среднего арифметического
Вычислить среднее арифметическое четырех вводимых чисел, с использованием функции. Не могу понять в чем ошибка.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
class Program { public static int SA(int x, int y, int z, int w) { int sum = (x + y + z + w) / 4; return SA; } static void Main(string[] args) { int a, b, c, d; Console.WriteLine("Введите a:"); a = int.Parse(Console.ReadLine()); Console.WriteLine("Введите b:"); b = int.Parse(Console.ReadLine()); Console.WriteLine("Введите c:"); c = int.Parse(Console.ReadLine()); Console.WriteLine("Введите d:"); d = int.Parse(Console.ReadLine()); Console.WriteLine("sum= ", SA(a,b,c,d)); } }
Вычисление среднего арифметического значения элементов массива
Прошу помощи. Вычисление среднего арифметического значения элементов массива и замена.
Написание программы на вычисление среднего арифметического в двухмерном массиве
Нам дается массив(двумерный). Необходимо узнать следующее: среднее арифметическое число, тех.
Вычисление суммы и среднего арифметического последовательности положительных чисел
Помогите, пожалуйста. Написать программу, вычисляющую сумму и среднее арифметическое.
Вычисление среднего арифметического посредством переменного числа параметров в методе
Доброго времени суток, дамы и господа. Помогите, пожалуйста, понять, что я делаю не так. Пытаюсь.
Вычислить среднее значение элементов массива
Необходимо написать программу, которая бы вычисляла среднее значение элементов массива. Для вычисления среднего создать специальный метод average, формальным параметром которого должен быть массив, а возвращаемым параметром значение среднего. За ранее спасибо
Вычислить среднее значение элементов двумерного массива (через foreach)
Код: int array = new int; Random rand = new Random(); int i, j; .
Вычислить среднее арифметическое значение положительных элементов каждой строки двухмерного массива
Для заданного массива А(4, 6) вычислить среднее арифметическое значение положительных элементов.
Вычислить среднее арифметическое элементов массива
Составить класс: одномерный массив действительных чисел. Методы: конструктор (параметр: число.
Найти среднее значение элементов массива размера 5
Найти среднее значение элементов массива размера 5. Преобразовать исходный массив, вычитая из.
double[] a = { 1, 2, 3, 4, 5, 6 }; double sum = 0; for (int i = 0; i a.Length; i++) sum += a[i]; Console.WriteLine(sum / a.Length); Console.ReadLine();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
class Program { static void Main(string[] args) { double[] a = { 1, 2, 3, 4, 5, 6 }; Console.WriteLine(average(a).ToString()); Console.ReadKey(); } static double average(double[] a) { double sum = 0; for (int i = 0; i a.Length; i++) sum += a[i]; return sum / a.Length; } }
double[] a = { 1, 2, 3, 4, 5, 6 }; Console.WriteLine(a.Average()); Console.ReadKey();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
static void Main(string[] args) { Console.WriteLine("Введіть довжину масиву:"); int quantity = Convert.ToInt16(Console.ReadLine());//длинна массива int[] array = new int[quantity]; Console.WriteLine("Вкажіть значення елементів масиву"); for (int i = 0; i array.Length; i++) { array[i] = Convert.ToInt16(Console.ReadLine()); //инициализация массива } float m = array.Sum() / array.Length; //среднее арифметическое Console.WriteLine("Мiнiмальне значення \n максимальне значення \n Сума :,Середнє арифметичне:", array.Min(), array.Max(), array.Sum(),m); //вывод на экран Console.ReadKey(); }
1 2 3 4 5 6 7 8 9 10 11 12
Console.WriteLine(sum / a.Length); Console.WriteLine("Введіть довжину масиву:"); int quantity = Convert.ToInt16(Console.ReadLine());//длинна массива int[] array = new int[quantity]; Console.WriteLine("Вкажіть значення елементів масиву"); for (int i = 0; i array.Length; i++) double[] a = { 1, 2, 3, 4, 5, 6 }; double sum = 0; sum += a[i]; return sum / a.Length; } }
Количество элементов массива, меньших за среднее значение
Здравствуйте, нужна помощь по массивам, вот задачка: Количество элементов массива, меньших за.
Найти среднее значение положительных элементов массива
В C# найти среднее значение положительных элементов в массиве ^n
Вычислить среднее арифметическое отрицательных элементов массива
Еще разочек,помогите пожалуйста: Вычислить среднее арифметическое отрицательных элементов массива.
Вычислить среднее арифметическое ненулевых элементов массива
Написать программу, которая вычисляет среднее арифмети¬ческое ненулевых элементов введенного с.
Как найти среднее число массива с помощью кода C#?
Я только начал изучать C#. Не хватает понимания как реализовать логику решения с помощью кода. Задача: найти среднее число массива чисел. Например, есть числа 3, 10, 16, 2, 8. Ответ: Среднее число будет 10 или 8.
Логика нахождения:
1. «Макс. число» минус «мин. число», т.е. 16 — 2 = 14.
2. Затем 14 / 2 = 7.
3. Затем «мин. число» + 7, т.е. 2 + 7 = 9 Это и будет среднее число массива.
4. Но в массиве нет девятки. Значит ближайшие числа 10 или 8.
Так вот, я не смог додуматься как найти среднее число с помощью кода. Неправильные варианты не привожу, т. к. не вижу в этом смысла.
Просьба — если кто-то напишет код, то напишите его именно с учётом, что я новичок. Т.е. при помощи циклов и условных операторов, чтобы было понятно как это работает, чтобы не было скрытых действий таких, как myArray.Max. или myArray.Min. И конечно же с учётом того, что массив может иметь отрицательные числа. Спасибо!
Простой 4 комментария
А всем остальным это говорит, что вы не фига не делали и сидите ждёте, что кто-то это сделает за вас. Но я что-то не увидел стоимости оплаты этой работы.
freeExec, я не студент. Мне 55 лет. Что касается стоимости оплаты. Возможно я не понял правил этого ресурса. Я думал, что здесь можно задавать вопросы и если у кого то есть желание, то он может ответить просто так, из желания помочь. Я действительно пробовал решить. Но не смог. Ниже привожу своё неправильное решение.
int [] myArray = new int []< 3, 10, 16, 2, 8 >;
int minCount = myArray[0];
int Index_i = 0;
int maxCount = myArray[0];
for (int i = 0; i < myArray.Length; i++)
if (minCount > myArray[i])
minCount = myArray[i];
Index_i = i;
>
else if (maxCount < myArray[i])
maxCount = myArray[i];
Index_i = i;
>
>
Console.Write(«Минимальное число массива: » + minCount);
Console.Write(«\nМаксимальное число массива: » + maxCount);
int Amount_of_num = (maxCount — minCount) + 1; //Количество чисел в массиве
int Average_num = (Amount_of_num / 2) + minCount; // Среднее число массива
for (int i = 0; i < myArray.Length; i++)
if (myArray[i] == Average_num ) // < 3, 10, 16, 2, 8 >
myArray[i] = Average_num; // 16 — 2 = 14; 14 / 2 = 7; 7 + 2 = 9
>
else if (myArray[i] myArray[i] = Average_num;
>
>
Console.WriteLine(«\nСреднее число массива: » + Average_num);
Console.ReadLine();
Никто не читает правила ресурса — это факт, но они есть, смотрите пункт 5.12. Задачи и задания.
Вот и нужно было привести этот код. Да, может быть он где-то и ошибается, но это то от чего можно отталкиваться и искать шаги, где допущена ошибка.