29 Kasım 2014 Cumartesi

C Konsol Girilen 5 Sayının Farklı Olmasını Sağlama

KONU : C Konsol Uygulamalar - Klavyeden girilen 5 adet sayının birbirlerinden farklı girilmesini sağlamaktadır. Aynı sayı girilmiş ise kaçıncı sayı ile aynı olduğunu söylemekte ve tekrardan sayı girmesini istemektedir. Bütün sayılar farklı olduğu hesaplandıktan sonra program girilen 5 farklı sayıyı konsol ekranına yazdıracak. Bu işlemden sonra kullanıcıdan prgorama devam edip edilmeyeceğini soran bir yazı konsol ekranına yazdırılacak. Kullanıcı devam seçeneğini seçtikten sonra program kullanıcıdan yeni farklı 5 sayı girilmesini isteyecek.
ETİKETLER: c konsol - c sayılar - c döngüler - c while - c for


//KONU : Klavyeden girilen 5 adet sayının birbirlerinden farklı girilmesini sağlamaktadır.
//Aynı sayı girilmiş ise kaçıncı sayı ile aynı olduğunu söylemekte ve tekrardan sayı girmesini istemektedir. 
 
#include < stdio.h >
#include < stdlib.h >

int main()
{
 int kenarUzunlugu,i,k,secim;

 bool devamEtsinMi=true; //programdan çıkılmak istendiğinde false değerini alacak

 while(devamEtsinMi)
 {
  int girilenSayilar[5];
  int girilenSayiSayisi = 0;
  int girilenSayi = 0;
  int guncellenecekSayi = -1;

  printf("\n 5 tane farkli  sayi giriniz : \n");
  int devamMi = 1;
  bool islemTamam = 1;

  while (true)
  {

   // 5 tane farklı sayı girilmesini bekliyecek
   while (true)
   {
    scanf("%d",&girilenSayi);

    if (girilenSayiSayisi < 5)
    {
     girilenSayilar[girilenSayiSayisi++] = girilenSayi;

     //Yeni sayı girmeye devam ediyorum. 

    }
    else if(islemTamam == 0)
    {
     girilenSayilar[guncellenecekSayi] = girilenSayi;
    }



    if (girilenSayiSayisi == 5)
    {
     islemTamam = 1;
     for (int i = 0; i < girilenSayiSayisi; i++)
     {
      for (int j = i+1; j < girilenSayiSayisi; j++)
      {
       if ( girilenSayilar[i] == girilenSayilar[j])
       {
        printf("\n %d . sayi ile %d. sayi ayni girilmiştir\n ", i+1, j+1);
        printf("\n %d . sayiyi tekra giriniz\n ", j+1);
        guncellenecekSayi = j;
        i = girilenSayiSayisi;
        j = girilenSayiSayisi;
        islemTamam = 0;
       }
       
      }
     }

    }

    if(islemTamam ==1 && girilenSayiSayisi == 5)
    {
     break;
    }
   }

   
      
 
   printf("\n5 sayi girilmiştir. Bunlar: \n ");
   for (int i = 0; i < girilenSayiSayisi; i++)
   {
     printf(" %d  - ",girilenSayilar[i] );
   }

   


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

   printf("\n\n\nYeni 5 sayi girmek icin->1, programdan cikmak icin ->0 giriniz");

   scanf("%d",&devamMi); 


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

   if (devamMi == 0)
    break;

   girilenSayiSayisi = 0;
  }

  return 0;
 }
}


Etiketler

Array (9) bool (3) break (1) BubbleSort (1) C (23) char (4) Char Sınıfı (1) conio.h (5) Console (4) Dizi (1) Diziler (11) Döngüler (24) File Sınıfı (1) Fonksiyon (3) For (12) Function (2) Game (1) Getch (1) gets (1) if-else (6) if-else örnekleri (15) int (8) Konsol (16) Konsol Okuma (16) Konsol Yazdırma (17) Matematik (14) Oyun (1) Pointer (2) printf (9) scanf (8) Sort (1) stdio.h (10) stdlib.h (8) strcpy (1) String (1) string.h (2) Swap (1) Switch Case (3) time.h (1) while (5)