Предмет: Информатика,
автор: mandjaridd
c# написать простую программу с использованием цикла foreach, которая в одномерном массиве со случайными элементами находит максимальный и минимальный элементы, затем считает произведение элементов массива между макс и минимум (без них) и выводит результат. Очень нужно, отдам все 40 баллов
MaxLevs:
И чего, прям "лучший ответ" подгонишь?
если работать будет ;)
Ловлю на слове
Ответы
Автор ответа:
2
С#
Произведение находится за вычетом максимального и минимального элементов. Если они встречаются несколько раз, то вычетаются по одному разу.
Код:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace ThisAnswerIsNotMine {
- class Program {
- private static int Size => 7;
- private static void Main()
- {
- int seedMin = new Random().Next(1, 40);
- int seedMax = new Random().Next(seedMin + 5, seedMin + 40);
- var arr = Enumerable.Repeat(0, Size)
- .Select(_ => new Random().Next(seedMin, seedMax))
- .ToArray();
- int max = arr[0], min = arr[0];
- foreach (var el in arr)
- {
- max = Math.Max(el, max);
- min = Math.Min(el, min);
- }
- int product = 1;
- bool maxIsCatched = false, minIsCatched = false;
- foreach (var el in arr)
- {
- if (!maxIsCatched && el == max)
- {
- maxIsCatched = true;
- continue;
- }
- if (!minIsCatched && el == min)
- {
- minIsCatched = true;
- continue;
- }
- product *= el;
- }
- PrintArr(arr);
- Console.WriteLine($"Max: {max}; Min: {min}; Product: {product}.");
- }
- private static void PrintArr<T>(IEnumerable<T> arr)
- {
- foreach (var el in arr)
- {
- Console.Write(el);
- Console.Write(" ");
- }
- Console.WriteLine();
- }
- }
- }
Приложения:
Всё, корона твоя =D можешь ещё подсказать пожалуйста? Мне программу нужно ещё объяснить для сдачи. Объясни пожалуйста очень вкратце какая строка что выполняет, я не все понимаю и не нашла некоторые функции и методы в инете. Создала вопрос с твоим кодом, можешь зайти там ответить? ещё баллы будут естессно, че
Да мне не баллы нужны, а ответы лучшие)
По умолчанию Rand имеет большой разброс
Поэтому, для начала, получаем случайный диапазон для генерации последовательности.
int seedMin = new Random().Next(1, 40);
int seedMax = new Random().Next(seedMin + 5, seedMin + 40);
int seedMin = new Random().Next(1, 40);
int seedMax = new Random().Next(seedMin + 5, seedMin + 40);
как понять вот эти все seedMin, seedMax
это имена переменных, с которыми происходит действо или шо
Я написал ответ
seedMin и seedMax это диапазон для генерации значений. Они могут совпадать с найденными max и min, но далеко не обязательно
не злися, я не такая умная как ты, не сидела бы тут
скажи пожааааалуйста будь добр последнее значение строки
bool maxIsCatched = false, minIsCatched = false;
дальше я понимаю, а то по запросу maxIsCatched не находит совсем ничего
bool maxIsCatched = false, minIsCatched = false;
дальше я понимаю, а то по запросу maxIsCatched не находит совсем ничего
Похожие вопросы
Предмет: Русский язык,
автор: ваники
Предмет: Английский язык,
автор: dvsik7
Предмет: Русский язык,
автор: erzhan96
Предмет: Литература,
автор: dmitryzanegin2017
Предмет: Химия,
автор: imaimula1