Merhaba arkadaşlar, bu yazıda C# ile girilen sayıların ortalamasını ve standart sapmasını bulmayı göstereceğim.
Öncelikle ikisininde formülünü vereyim:
Çoğumuzunda bildiği üzere ortalamanın hesabı girilen tüm sayıların toplamının sayıların adetine bölümüdür yani ;
n tane sayı girilirse; sayılar x1,x2.. xn => x1 + x2 .. + xn / n.
Standart sapma için ise her bir sayıdan sayıların ortalamasının çıkarılıp karesinin alınarak toplanması, ardından tüm toplamın sayıların sayısına bölünmesidir şöyle;
n tane sayı, x1, x2 .. xn => (X1 – ortalama)^2 + (X2 – ortalama)^2 .. + (Xn – ortalama)^2 / n
Sayıları tutmak için integer listesi kullandım. Bir adet While döngüsü ile sayıları almaya başlıyoruz. Kullanıcı * tuşlayana kadar devam ediyor. * ‘ ı sayıdan saymıyor, resimde 6.sayı olarak * eklendi görülüyor ancak onu saymıyor. Ardından matematiksel işlemleri yapıp ekranda sonuçları gösteriyor.
C# kodu aşağıdadır.
using System; using System.Collections.Generic; namespace Standanrt_Deviation { class Program { static void Main(string[] args) { int i = 1; Console.WriteLine("Sayı eklemesini durdurmak için sayı yerine : ' * ' tuşuna basıp enterlayın.\n"); List<int> numbers = new List<int>(); int sum = 0; while (true) { Console.Write(i + ". sayıyı girin : "); string read = Console.ReadLine(); if (read.Equals("*")) break; numbers.Add(int.Parse(read)); sum += int.Parse(read); i++; } double deviation = 0.0; double mean = sum / numbers.Count; for (i = 0; i < numbers.Count; i++) { deviation += Math.Pow((numbers[i] - mean), 2); } deviation = deviation / numbers.Count; Console.WriteLine("Topluluk ortalaması : " + mean + "\nTopluluk standart sapması : " + deviation); Console.ReadKey(); } } }