Трябва да съставя програма на C#

Totenkopf

Registered
Даден е масив от N цели числа. Да се направи програма която да:
- Въвежда числа в масива.
- Намира средната стойност на положителните и средната стойност на отрицателните числа в масива.


Това са условията.
 
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    /*Даден е масив от N цели числа. Да се направи програма която да:
-	Въвежда числа в масива.
-	Намира средната стойност на положителните и средната стойност на отрицателните числа в масива.*/
    class Program
    {
        static Random rand = new Random();
        static int[] numbersInput(int _From, int _To, int _Long){

            int[] numbers = new int[_Long];
            for (int i = 0; i < numbers.Length; i++)
            {
                numbers[i] = rand.Next(_From, _To);
            }
            return numbers;
        }
        static void printArray(int[] array)
        {
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i] + " ");
            }
            Console.WriteLine();
        }
        static int[] getPositive(int[] array)
        {
            int br = 0;
            
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] >= 0) br++;
            }
            int[] PositiveNumbers = new int[br];
            int key = 0;
            for (int i = 0; i < array.Length; i++)
                if (array[i] >= 0)
                {
                    PositiveNumbers[key] = array[i];
                    key++;
                }
                
            
                


                    return PositiveNumbers;
        }
        static int[] getNegative(int[] array)
        {
            int br = 0;
            for (int i = 0; i < array.Length; i++)
            
                if (array[i] < 0) br++;
            int[] NegativeNumbers = new int[br];
            int key=0;
            for (int i = 0; i < array.Length; i++)
                if (array[i] < 0)
                {
                    NegativeNumbers[key]=array[i];
                    key++;
                }
            return NegativeNumbers;
        }
        static double getAverage(int[] array)
        {
            double sum = 0,avg;
            for (int i = 0; i < array.Length; i++)
            {
                sum += array[i];
            }
              if(array.Lenght==0) {avg=sum/1;}
            avg = sum / array.Length;
            return avg;
        }
        static void Main(string[] args)
        {
            int[] numbers = numbersInput(-100, 100, 10);
            Console.Write("Елементите на масива са: ");
            printArray(numbers);
            Console.Write("Положителните елементи на масива са: ");
            int[] posnumbers = getPositive(numbers);
            printArray(posnumbers);
            Console.WriteLine("Средната стойност на положителните елементи от масива е: "+getAverage(posnumbers));
            Console.Write("Отрицателните елементи на масива са: ");
            int[] negnumbers = getNegative(numbers);
            printArray(negnumbers);
            Console.WriteLine("Средната стойност на положителните елементи от масива е: " + getAverage(negnumbers));
            
        }
    }
}







Пиши ЛС ако имаш въпроси.
 
Totenkopf каза:
Даден е масив от N цели числа. Да се направи програма която да:
- Въвежда числа в масива.
- Намира средната стойност на положителните и средната стойност на отрицателните числа в масива.


Това са условията.

Ами добре, благодаря че ни уведоми... предполагам. :roll:
 
PHP:
using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculate calc = new Calculate();
        }
    }

    internal class Calculate
    {
        private List<int> intContainer = new List<int>();

        public Calculate()
        {
            Init();
        }

        private void Init()
        {
            bool active = true;

            Console.WriteLine("*** Select an option: ***");
            Console.WriteLine("-> Press 1 to add a number");
            Console.WriteLine("-> Press 2 to get average of all '+' and '-' numbers");
            Console.WriteLine("-> Press 3 to clear the data container");
            Console.WriteLine("-> Press 0 to close the window");
            Console.WriteLine("------------------------------------------");

            while (active)
            {
                int i;
                if (ValidateEnteredValue(Console.ReadLine()))
                {
                    switch (i)
                    {
                        case 1:
                            Console.WriteLine("Enter a number: ");
                            AddNumbers(Console.ReadLine());
                            Console.WriteLine("Value added");
                            break;
                        case 2:
                            GetAllAverageValues();
                            break;
                        case 3:
                            intContainer.Clear();
                            Console.WriteLine("Container cleared");
                            break;
                        case 0:
                            active = false;
                            break;
                        default:
                            Console.WriteLine("Wrong parameter");
                            break;
                    }
                }
            }
        }

        private void AddNumbers(string value)
        {
            if (ValidateEnteredValue(value))
            {
                intContainer.Add(Int32.Parse(value));
            }
            else
            {
                Console.WriteLine("Please, enter a valid number...");
            }
        }

        private bool ValidateEnteredValue(string value)
        {
            int i;
            if (Int32.TryParse(value, out i))
            {
                return true;
            }
            return false;
        }

        private void GetAllAverageValues()
        {
            if (intContainer.Any(x => x <= 0))
                Console.WriteLine(string.Format("The average value of all '-' element ist: {0}", intContainer.Where(x => x < 0).Average()));
            if (intContainer.Any(x => x > 0))
                Console.WriteLine(string.Format("The average value of all '+' element ist: {0}", intContainer.Where(x => x > 0).Average()));
        }
    }
}
 

Back
Горе