• 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.
Bu, hızlı yüklenen mobil optimize edilmiş bir AMP sayfadır, gerçek sayfayı yüklemek istiyorsanız bu metni tıklayın.

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;
        }
    }
}