|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.03.2021, 14:25 | #1 |
Новичок
Джуниор
Регистрация: 25.03.2021
Сообщений: 5
|
Очередь
В очереди вещественных чисел определить количество элементов, имеющих значения меньше среднего арифметического значения всех элементов и удалить эти элементы. Очередь создал, среднее нашел. Как удалить? Заклинило, понять не могу. Танцы с бубном не первый час.
using System.Collections; using System.Collections.Generic; using System.Linq; namespace Collections { class Program { static void Main(string[] args) {// То что дано static double Size() { double num; while (!double.TryParse(Console.ReadLine( ), out num)) ; return num; } Queue<double> queue = new Queue<double>(); Console.Write("введите сколько буде чисел N: "); int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { Console.Write($"введите {i + 1}-е число: "); queue.Enqueue(Size()); } Console.WriteLine("Очередь чисел:"); foreach (double e in queue) { Console.WriteLine(e); } Console.WriteLine(); //Находим сумму double total = 0; foreach (double e in queue) { total += (double)e; } double total1 = total / n; Console.WriteLine($"Среднeе арифметическое: {total1} " );//среднее арифметическое Console.WriteLine(); } } } |
27.03.2021, 16:06 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Добавлять нужные элементы в другую очередь а после переписать исходную
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
27.03.2021, 19:29 | #3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
29.03.2021, 08:58 | #4 |
Новичок
Джуниор
Регистрация: 25.03.2021
Сообщений: 5
|
Спасибо за ответ. Нашел в это
int queueCount = queue.Count; // запоминаем длину очереди for (int i = 0; i < queueCount; i++) { double currentFirstElement = queue.Dequeue(); // каждый раз удаляем первый элемент в очереди и запоминаем его. if (currentFirstElement > total1) // если значение этого первого элемента не то, которое нужно удалить, { queue.Enqueue(currentFirstElement); // то добавляем этот элемент обратно в очередь (в её конец). } } и переделал |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c# одну очередь однозначных чисел, а вторую очередь двузначных чисел. Перемножьте соответственные элементы двух очередей и организуйте третью очередь | Maksim221 | Фриланс | 2 | 09.06.2018 18:22 |
Очередь | Павел27 | Помощь студентам | 2 | 15.04.2016 23:15 |
Очередь | prem1era | Общие вопросы C/C++ | 0 | 11.06.2014 20:00 |
вводим 15 элементов в очередь, затем выводим на экран эту очередь и добавил в очередь еще один элемент. Потом удаляем любой элемен | Xumera | C++ Builder | 2 | 07.12.2013 13:56 |
с++ очередь | zubber94 | Помощь студентам | 8 | 25.07.2012 00:01 |