28 Aralık 2013 Cumartesi

C Sharp Konsol Girilen 10 Sayının Minimum - Maksimum - Ortlama-Toplam Değerlerini Hesaplama



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form ekranından girilen 10 sayının minimum değerini hesaplama, maksimum değerini hesaplama, ortalama değerini hesaplama, tüm sayıların toplamını hesaplama.

Bu uygulamada textbox dan girilen 10 sayı bir diziye eklenecek. Ayrıca diziye eklenen tüm elemanlar listbox da gösterilecek. Textbox dan girilen değerler için sayı mı değil mi kontrolü yapılacak. 10 sayı girilmesi tamamlandıktan sonra girilen sayıların minimumu, maksimumu, ortalaması ve toplamı hesaplanacak. Hesaplan ortalama değere en yakın sayı bulunacak.





UYGULAMAYI İNDİR



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

namespace C_Sharp_10_Sayi_İslemi
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] girilenSayilar = new int[10];
            int girilenSayiSayisi = 0;
            int girilenSayi = 0;

            Console.WriteLine("10 sayı giriniz : \n");
            int devamMi = 1;

            while (true)
            {
                while (true)
                {
                    //Sayı gir kutusuna bir değer girildiğinde ilk önce girilen değerin
                    //sayı olup olmadığını kontrol ediyorum. Eğer sayı değilse bir uyarı
                    //mesajı veriyorum. Girilen değer eğer bir sayı ise bu sayıyı 
                    //girilen sayılar dizisine ekliyorum.

                    try
                    {
                        girilenSayi = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Girilen değer sayı değil\n");

                        return;
                    }

                    if (girilenSayiSayisi == 10)
                    {
                        Console.WriteLine("10 sayı girilmiştir\n ");

                        break;
                    }
                    else
                    {
                        girilenSayilar[girilenSayiSayisi++] = girilenSayi;

                        //Yeni sayı girmeye devam ediyorum. 

                    }
                }

                int enBuyukSayi = girilenSayilar[0];
                int enKucukSayi = girilenSayilar[0];
                int sayilarınOrtalamasi = 0;
                int sayilarinToplami = 0;

                for (int i = 0; i < girilenSayilar.Length; i++)
                {
                    if (enBuyukSayi < girilenSayilar[i])
                    {
                        enBuyukSayi = girilenSayilar[i];
                    }
                    if (enKucukSayi > girilenSayilar[i])
                    {
                        enKucukSayi = girilenSayilar[i];
                    }
                    sayilarinToplami += girilenSayilar[i];
                }
                sayilarınOrtalamasi = sayilarinToplami / girilenSayilar.Length;

                string sonuc = "Minumum Olan Sayı         : " + enKucukSayi.ToString() + "\n" +
                "Maksimum Olan Sayı       : " + enBuyukSayi.ToString() + "\n" +
                "Sayıların Toplam Değeri   : " + sayilarinToplami.ToString() + "\n" +
                "Sayıların Ortalama Değeri : " + sayilarınOrtalamasi.ToString() + "\n";


                Console.WriteLine(sonuc);

                // Bu kısım ortalamaya en yakın sayıyı bulmak için yapılıyor.. 

                int fark = Math.Abs(sayilarınOrtalamasi - girilenSayilar[0]);

                int buffer = 0;
                int enYakinSayi = 0;

                for (int i = 0; i < girilenSayilar.Length; i++)
                {
                    buffer = Math.Abs(sayilarınOrtalamasi - girilenSayilar[i]);
                    if (buffer < fark)
                    {
                        fark = buffer;
                        enYakinSayi = girilenSayilar[i];
                    }
                }

                Console.WriteLine("\nEn yakin sayi: " + enYakinSayi.ToString());


                //Kullanıcı yeni 10 sayı girmek isteyip istemediğini soralım

                Console.WriteLine("\n\nYeni 10 sayi girmek icin->1, programdan cikmak icin ->0 giriniz");

                devamMi = Convert.ToInt32(Console.ReadLine());


                //Eğer kullanıcı programdan çıkmak istiyorsa döngüden break komutu ile çıkalım.

                if (devamMi == 0)
                    break;
            }
        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder