Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов - 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(); 
        }
    }
}

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы