[Programming Fundamentals] Arrays and Methods - More Exercises. Problem 01. Array Statistics
Здравейте, знам че задачата е елементарна, но не разбирам къде греша. Дава ми 60/100
https://gist.github.com/bc4531dd4dca20dfe2fcf0222ed6cd95.git
Здравейте, знам че задачата е елементарна, но не разбирам къде греша. Дава ми 60/100
https://gist.github.com/bc4531dd4dca20dfe2fcf0222ed6cd95.git
Пробвай да кастнеш към 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}"); } } }
Оправих го, но честно казано не знам как. Мисля, че проблемът беше във дорматирането .... Така работи:
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}");
}
}
}
Решение което едва ли би било за пример, и едва ли е най-правилното , но пък работи.
https://pastebin.com/MsAkZj3H
https://pastebin.com/VSKLH4x6
защо сте се мъчили толкова,просто ползвайте методите на самите array
Много е добре сега и за в вбъдеще да научим как работят самите методи , и да се научим поне малко на алгоритмично мислиене и тогава чак да си ползваме вградените методи. Защото лесното сега е труднто по-късно, и обратнато.
ама чакай сега? то всеки може да го разпише,но като имаш направена логиката вътре в самия клас? все едно да се мъчиш да изчисляваш времето и тн а да не ползваш timespan или datetime
Още на basic курса, нашите лектори ни казаха нещо много правилно.Че логика можеш да напишеш всякаква но ако се обърка ти ще си виновен но ако използваш c# заложените класове методи и тн. Тогава MS ще са виновни и са прави. Не мисля че тук има някои който да не може да изчисли средна сума,най-голямо най-малко и тн.
Просто по начина които го правите шанса да сбъркате с число или превръщане е голям.А и цялата идея на тея лекции и това че учим array list и тн. Е да свикнем да работим с самите масиви и техните методи.То иначе това което го правите на ръка го правихме в basics...