• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

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

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_10_Sayi_İslemi
{
    public partial class Form1 : Form
    {
        int[] girilenSayilar = new int[10];
        int girilenSayiSayisi;
        int girilenSayi;

        public Form1()
        {
            InitializeComponent();
        }

        private **** Form1_Load(object sender, EventArgs e)
        {
            //Klavyenin enter butonunu sayıyı gir olarak çalıştıcağım

            this.AcceptButton = this.btnSayiyiGir;

            //Klavyenin ESC butonunu formu temizle butonu olarak çalıştıracağım.

            this.CancelButton = this.btnTemizle;
        }

        private **** btnSayiyiGir_Click(object sender, EventArgs e)
        {
            //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(txtGirilenSayi.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Girilen değer sayı değil","Hata",MessageBoxButtons.OK,MessageBoxIcon.Error);
                txtGirilenSayi.Text = "";
                txtGirilenSayi.Focus();
                return;
            }
          
            if (girilenSayiSayisi == 10)
            {
                MessageBox.Show("10 sayı girilmiştir ","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
                txtGirilenSayi.Text = "";
                return;
            }
            else
            {
                girilenSayilar[girilenSayiSayisi++] = girilenSayi;

                lstGirilenSayılar.Items.Add(girilenSayiSayisi.ToString() + ". sayi: " + girilenSayi.ToString() + "\n");
              
                //Yeni sayı girmeye devam ediyorum. 

                txtGirilenSayi.Text = "";
                txtGirilenSayi.Focus();
            }
        }

        private **** btnSonucuGoster_Click(object sender, EventArgs e)
        {
            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;

            lblSonuc.Text = "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";
           
            // 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];
                }
            }

            MessageBox.Show("En yakin sayi: " + enYakinSayi.ToString(),"Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }

        private **** btnTemizle_Click(object sender, EventArgs e)
        {
            FormuTemizle();
        }

        private **** FormuTemizle()
        {
            lstGirilenSayılar.Items.Clear();
            lblSonuc.Text = "";

            girilenSayiSayisi = 0;
            girilenSayi = -1;
        }
    }
}
 
Üst