1 Nisan 2013 Pazartesi

83 - Diziler... 10 Soruluk Genel Tekrar...


10 soruluk diziler ile ilgili genel bir örnek... Çok açıklama yapmaya gerek yok... Daha önceki örneklerin tek bir program üzerinde toplanmış hali diyebiliriz... Bu örnekle beraber dizi örneklerimizi bitirelim... Sadece çok boyutlu dizilere sonra örnekler verelim... 


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

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
           /*Klavyeden girilen 10 adet sayıyı a dizisine kopyalayan
            1= bu sayıların toplamı ve ortalaması
            2= 100 den büyük olan sayıları ekrana yazdıran
            3= 100 den küçük olanların adetini bulan
            4= 100 olanlarının toplamını aldıran
            5= bu sayıların en büyüğünü ve en küçüğünü bulan
            6= bu sayıları büyükten – küçüge sıralayan
            7= bu sayıları küçükten büyüğe sıralatan
            8= klavyeden girilen sayıyı bu dizide arayan( bulursa ilgili mesajı vern vardır/ yoktur diye
            9= klavyeden girilen sayıyı dizide arayan ve kaç adet olduğunu bulan
            10=her elemanın karesini alarak b dizisina aktaran , her elamanın kare kökünü alarak 
            * c dizisine aktaran , b ve c dizilerinin toplamını d dizisine aktaran ve d dizisini 
            * ekranda gösteren consol uygulaması ….( tek proğram içerisinde yapılacak )*/

            int[] a = new int[10]; // 10 sayılık bir int dizi oluşturduk.

            // Diziye sırası ile 10 adet sayı girdiriyoruz.
            for (int i = 1; i <= 10; i++)
            {
                Console.Write(i + ". sayı : ");
                a[i - 1] = Convert.ToInt32(Console.ReadLine());
            }

            // 1. Cevap
            int dizidekiSayilarinToplami = 0;
            for (int i = 0; i < 10; i++)
            {
                dizidekiSayilarinToplami = dizidekiSayilarinToplami + a[i];
            }
            double sayilarinOrtalamasi = dizidekiSayilarinToplami / 10;
            // Sayılar küsürlü çıkabilir diye double yaptık
            Console.WriteLine("Dizideki sayıların toplamı : " + dizidekiSayilarinToplami);
            Console.WriteLine("Dizideki sayıların ortalaması : " + sayilarinOrtalamasi);

            //2. Cevap
            Console.Write("100'den büyük sayılar : ");
            for (int i = 0; i < 10; i++)
            {
                if (a[i] > 100)
                {
                    Console.Write(a[i].ToString() + " - ");
                }
            }
            Console.WriteLine(); // alt satıra geçmek için yazıldı

            //3. Cevap
            int yuzdenKucukSayilarinToplami = 0;
            for (int i = 0; i < 10; i++)
            {
                if (a[i] < 100)
                {
                    yuzdenKucukSayilarinToplami = yuzdenKucukSayilarinToplami + 1;
                }
            }
            Console.WriteLine("100'den küçük {0} adet sayı vardır.", yuzdenKucukSayilarinToplami);

            //4. Cevap
            int yuzlerinToplami = 0;
            for (int i = 0; i < 10; i++)
            {
                if (a[i] == 100)
                {
                    yuzlerinToplami = yuzlerinToplami + 100;
                }
            }
            Console.WriteLine("100 olan sayıların toplamı : " + yuzlerinToplami.ToString());

            //5. Cevap
            Array.Sort(a); // Bu kod dizideki sayıları sıralar. Dizinin ilk elemanı en küçük
            // Son elemanı en büyük olur.
            Console.WriteLine("En büyük sayı : " + a[9].ToString());
            // Dizi 0 dan başladığı için 10. elemanı 9 olur. 0 elemanı ilk eleman olur.
            Console.WriteLine("En küçük sayı : " + a[0].ToString());

            //6. Cevap sayıları biraz önce zaten sıralatmıştık. Şimdi ekrana yazdıralım.
            Console.WriteLine("Büyükten Küçüğe Sıralanışı.");
            for (int i = 9; i >= 0; i--)
            {
                Console.Write(a[i].ToString() + " - ");
            }
            Console.WriteLine();

            //7. Cevap
            Console.WriteLine("Küçükten büyüğe sıralanışı.");
            for (int i = 0; i < 10; i++)
            {
                Console.Write(a[i].ToString() + " - ");
            }
            Console.WriteLine();

            // 8. Cevap
            Console.Write("Aramak İstediğiniz sayı :");
            int arananSayi = Convert.ToInt32(Console.ReadLine());

            // Array.Indexof Dizinin içinde sayı aramak için kullanılır eğer sayı yoksa -1 değerini
            // sayı varsa sayının değerini döndürür.
            if (Array.IndexOf(a, arananSayi) == -1)
                Console.WriteLine("Sayı dizide yoktur.");
            else
                Console.WriteLine("Sayı dizide vardır.");

            //9. Bunu sırası ile kontrol etmek gerekiyor.
            Console.Write("Aramak İstediğiniz sayı :");
            int arananSayi2 = Convert.ToInt32(Console.ReadLine());
            int kacAdetVar = 0;
            for (int i = 0; i < 10; i++)
            {
                if (arananSayi2 == a[i])
                {
                    kacAdetVar = kacAdetVar + 1;
                }
            }
            Console.WriteLine(arananSayi2.ToString() + " sayısından " + kacAdetVar + " adet bulunuyor.");

            // 10. Cevap
            int[] b = new int[10]; // dizileri oluşturduk.
          double[] c = new double[10]; // Karekökünü alınca sayılar basamaklı çıkabilir. Bunun için double yaptık...
            double[] d = new double[10];

            for (int i = 0; i < 10; i++)
            {
                b[i] = a[i] * a[i]; // Karesini b dizisine aldık...
                c[i] = Math.Sqrt(a[i]); // Karekökö Math.Sqrt ile alınır...
                d[i] = b[i] + c[i]; // toplayıp d ye yazdık...

                Console.WriteLine(i.ToString() + " sayı : " + d[i].ToString());
            }

            Console.ReadLine();
        }
    }
}