Loading...
Rumyanarusimova avatar Rumyanarusimova 20 Точки

Пробвай да кастнеш към double целия израз в скоби.

Ето моето решение 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _01.Array_Statistics
{
    class Program
    {
        static void Main(string[] args)
        {
            var arr = Console.ReadLine().Split().Select(int.Parse).ToArray();
            var max = int.MinValue;
            var min = int.MaxValue;
            var sum = 0;
            double average = 1.0;
            for (int i = 0; i < arr.Length; i++)
            {
                var currentNum = arr[i];
                if (currentNum > max)
                {
                    max = currentNum;
                }
                if (currentNum < min)
                {
                    min = currentNum;
                }
                sum += currentNum;
                average = (double) sum / arr.Length;
            }
            Console.WriteLine($"Min = {min}");
            Console.WriteLine($"Max = {max}");
            Console.WriteLine($"Sum = {sum}");
            Console.WriteLine($"Average = {average}");
        }
       
    }
}
0
12/06/2017 15:52:26
Rozi_Petkova avatar Rozi_Petkova 1 Точки

Оправих го, но честно казано не знам как. Мисля, че проблемът беше във дорматирането ....  Така работи: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArraysAndMethodsMoreExercises
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = Console.ReadLine().
                        Split(' ').
                        Select(int.Parse).
                        ToArray();

            int maxNumer = int.MinValue;
            int minNumber = int.MaxValue;
            long sum = 0;
            
            int counter = 0;                 
            while (counter < arr.Length)
            {
                sum = sum + arr[counter];               
                maxNumer = maxNumer < arr[counter] ? arr[counter] : maxNumer;
                minNumber = minNumber > arr[counter] ? arr[counter] : minNumber;
                counter++;
            }

            double averageValue = 1.0;
            averageValue = (double)sum / arr.Length;
            Console.WriteLine($"Min = {minNumber}"
                            + $"\nMax = {maxNumer}"
                            + $"\nSum = {sum}"
                            + $"\nAverage = {averageValue}");
        }
    }
}
 

1
athristov avatar athristov 29 Точки

Решение което едва ли би било за пример, и едва ли е най-правилното , но пък работи. 

https://pastebin.com/MsAkZj3H

 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

https://pastebin.com/VSKLH4x6

защо сте се мъчили толкова,просто ползвайте методите на самите array 

0
athristov avatar athristov 29 Точки

Много е добре сега и за в вбъдеще да научим как работят самите методи , и да се научим поне малко на алгоритмично мислиене и тогава чак да си ползваме вградените методи. Защото лесното сега е труднто по-късно, и обратнато. 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

ама чакай сега? то всеки може да го разпише,но като имаш направена логиката вътре в самия клас? все едно да се мъчиш да изчисляваш времето и тн а да не ползваш timespan или datetime

Още на basic курса, нашите лектори ни казаха нещо много правилно.Че логика можеш да напишеш всякаква но ако се обърка ти ще си виновен но ако използваш c# заложените класове методи и тн. Тогава MS ще са виновни и са прави. Не мисля че тук има някои който да не може да изчисли средна сума,най-голямо най-малко и тн.

Просто по начина които го правите шанса да сбъркате с число или превръщане е голям.А и цялата идея на тея лекции и това че учим array list и тн. Е да свикнем да работим с самите масиви и техните методи.То иначе това което го правите на ръка го правихме в basics...

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.