Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов - C# (205491)
Формулировка задачи:
Объявить массив целых чисел и заполнить случайными значениями
• Размерность массива - 100
• Диапазон значений -100 - 100
Нужно:Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов.
Массив объявила..А вот остальное не могу.. Помогите плииз, очень нужно((.. На C#
Код C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] mas = new int[100]; Random r = new Random(); for (int i = 0; i < mas.Length; i++) { mas[i] = r.Next(-100, 100); Console.Write(mas[i] + " "); } Console.Read(); } } }
Решение задачи: «Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов»
textual
Листинг программы
using System; namespace ConsoleApplication1 { class Program { static void ShowArr(int[] a) // Отображение массива сделаем отдельной процедурой. { for (int i = 0; i < a.Length; i++) Console.Write("{0} ", a[i]); } static void Main() { int i; int[] mas = new int[100]; Random r = new Random(); for (i = 0; i < mas.Length; i++) mas[i] = r.Next(-100, 101); // Верхняя граница - именно 101. Console.WriteLine("Исходный массив:"); ShowArr(mas); Console.WriteLine(); int avg = 0; // Это - будущее среднее. int count = 0; // Счётчик положительных элементов. // Вычисляем среднее. for (i = 0; i < mas.Length; i++) if (mas[i] > 0) // Если элемент массива положительный, т.е. больше 0. { avg += mas[i]; // Суммируем такие элементы. count++; // Увеличиваем счётчик. } if (count > 0) // В массиве нашлись положительные элементы. avg /= count; // Это равносильно avg = avg / count; Собственно это и есть вычисление среднего значения. else { Console.WriteLine("В массиве не нашлось положительных элементов."); Console.WriteLine("Завершение работы программы."); return; // Выходим из метода Main() } Console.WriteLine("Среднее значение всех положительных элементов массива: {0}.", avg); Console.WriteLine(); // Замена элементов массива for (i = 0; i < mas.Length; i++) if (mas[i] < 0) mas[i] = avg; Console.WriteLine("Изменённый массив:"); ShowArr(mas); Console.WriteLine(); Console.Read(); } } }