if-else örnekleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
if-else örnekleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Kasım 2014 Pazartesi

C Konsol bir dizideki elemanların asal mı olup olmadıklarını fonksiyon kullanarak bulma

KONU : C Konsol Uygulamalar - C Konsol bir dizideki elemanların asal mı olup olmadıklarını fonksiyon kullanarak bulma. Asal olan sayıları konsol ekranına yazdırma.
ETİKETLER: c konsol - asal sayı - asal - döngü - if else - for döngüsü


#include < stdio.h >
#include < stdlib.h >
#include < conio.h >  

int asalmi(int sayi);

int main(void)
{

 int diziElemanSayisi = 10;
 int sayilar[] = {2,4,5,6,7,4,3,5,6,7,9,11};
 int deger  = 0;

 for(int i = 0; i < diziElemanSayisi; i++)
 {
  int asal = 1;

  deger = asalmi(sayilar[i]);
  if(deger == 1) 
  {
   printf("%d  ", sayilar[i]);
  }
 }

 getch();
}

int asalmi(int sayi)
{
 int asal = 1;

 for (int i = 2; i < sayi; i++)
 {

  if(sayi < 2)
  {
   asal =0;
  }
  else if(sayi == 2)
  {
   asal =1;
  }
  else if(sayi > 2)
  {
   for (int j = 2; j < sayi; j++)
   {

    if (sayi % j == 0)
     asal = 0;

   }

  }

 }

 // sayı asal ise fonksiyon true dönecek
 return asal;
}

1 Temmuz 2014 Salı

C Konsol da 52 Kartı Rastgele Dağıtarak Karıştırılmış Deste Oluşturma

KONU : C Konsol Uygulamalar - 52 kartı rastgele dağıtma . C konsolda rand fonksiyonunu kullanarak rastgele sayılar üretme. Rastgele sayılar üreterek dizi oluşturma.
ETİKETLER: c konsol - c rastgele sayı - c for döngüsü - c if else - c diziler



#include < stdio.h >
#include < stdlib.h >
#include < string.h >
#include < conio.h >
#include < time.h >

int main()
{
 srand(time(0)); //bu her zaman olacak.

 bool  kartdurum [52];
 int karistirilmisDeste [52];

 int rastgele = rand()%52;
 

 for(int i =0 ; i < 52; i++ )
 {
        kartdurum[i] = false ;
 }

 for(int i =0 ; i < 52; i++ )
 {

  //uretilen kart indexde varsa (true) ise bir oyuncu aynı karti bir daha alamayacagi icin tekrar kart gonderilmesi lazım.
  rastgele = rand()%52;
  if (kartdurum[rastgele] == true)
  {
   //aynı kart geldigi surece tekrar bir random kart uretip tekrar yolluyoruz farklı kart gelene kadar.
   while (true)
   {

       rastgele = rand()%52;
    if (kartdurum[rastgele] == false)
     break;
   }
  }

  //ardindan gelen karti tekrar olup olmadigina bakmasi icin tekrar true yaptık(varsayilan deger olarak)
  kartdurum[rastgele] = true;
  
  karistirilmisDeste[i] = rastgele;

 }

 for(int i =0 ; i < 52; i++ )
 {
  printf("%d ",karistirilmisDeste[i]);
 }
 getch();
}


25 Mart 2014 Salı

C Konsol Uygulamalar Yıldız ile Kenar Uzunluğuna Göre Yan Yana 2 Tane İçi Boş Üçgen Çizdirme

KONU : C Konsol Uygulamalar - Yıldız kullanarak konsol ekranına girilen kenar uzunluğuna göre yan yana iki tane içi boş üçgen çizdirme. Kenar uzunlukları farklı veya eşit 2 tane üçgeni konsol ekranına çizdirme.
ETİKETLER:c konsol yıldız - c konsol üçgen - üçgen çizme - konsol işlemleri


#include < stdio.h >

int main()
{
 int kenarUzunlugu,kenarUzunlugu2,i,k,secim;
 
 bool devamEtsinMi=true; //programdan çıkılmak istendiğnde false değerini alacak
 
 while(devamEtsinMi)
 {
  printf("Kenar Uzunluğunu Giriniz : ");
  scanf("%d",&kenarUzunlugu);

  printf("Kenar Uzunluğunu Giriniz : ");
  scanf("%d",&kenarUzunlugu2);
  int ortaNokta = kenarUzunlugu - 1;
  int taban = kenarUzunlugu * 2 - 1;
  int ortaNokta2 = kenarUzunlugu2 - 1;
  int taban2 = kenarUzunlugu2 * 2 - 1;

  for (i = 0; i < kenarUzunlugu; i++)
  {
    for (k = 0; k < taban+taban2; k++)
    {
     if(  k < taban)
     {
    if ((i + k == ortaNokta || k - i == ortaNokta) )
    {
     //Üçgenin kenarları çiziliyor
     printf("*");
    }
    else if (i == ortaNokta)
    {
     //Üçgenin tabanı çiziliyor
     printf("*");
    }
    else
    {
     //Üçgein kenar çizgileri dışındaki kısımlar boş bırakılıyor
     printf(" ");
    }
     }


   if(i <= kenarUzunlugu2 && k >= taban)
   {
    if ((i + k - taban  == ortaNokta2 || k - i - taban == ortaNokta2) )
    {
     //Üçgenin kenarları çiziliyor
     printf("*");
    }
    else if (i == ortaNokta2)
    {
     //Üçgenin tabanı çiziliyor
     printf("*");
    }
    else
    {
     //Üçgein kenar çizgileri dışındaki kısımlar boş bırakılıyor
     printf(" ");
    }
   }
    }
  //yeni satıra geçmek için
   
  printf("\n");
  }
  
  //Çizilmiş olan üçgeni yeni date gelene kadar ekranda beklet
  
  printf("Programdan cikmak icin =>0\nDevam etmek icin =>1 basiniz.\n<=");
  
  scanf("%d",&secim);
  
  if(secim==0)
  {
   devamEtsinMi=false;//programda çık
  }
  else
  {
   devamEtsinMi=true;//programa devam et
  }

 }

 return 0;
}

29 Aralık 2013 Pazar

C Konsol Döngü Örnekleri ve if else Örnekleri

KONU : C Konsol Uygulamalar - c konsolda döngü ve if else örnekleri. while döngüsü kullanarak sayaç değişkenini konsol ekranına yazdırma. Konsol ekranında int tipinde ve string tipinde değerleri okuma.


#include < stdio.h >
#include < stdlib.h >
#include < string.h >
#include < conio.h >

int main()
{

 int tamsayi = 0;

baslangic:  //baslangic etiketi

 printf("\nMerhaba c konsol uygulama kullanıcıları");
 tamsayi++;
 if (tamsayi < 25) // dongu kullanımı ama tavsiye edilmez
 {
  goto baslangic;
  // tsmdsyi değişkeninin değeri 25 den küçük isebaslangic etiketine gider
  // 25 den büyük olduğunda aşağıdaki satırdan devam eder
 }

 tamsayi = 0; //tamsayi değerini 10 yap

 // while döngüsü yukarıdaki goto fonksiyonunun yaptığı işlemin aynısını yapar
 // goto dongu için kullanılabilir ama kullanımı tehlikeli olabilir.
 // bunun yerine for veya while döngüleri kullanılır

 while (tamsayi < 25) // yukarıdaki işlemin aynısını yapar
 {
  printf("\nMerhaba c konsol uygulamalar ");
  tamsayi++;//değişkenin değeriini bir arttır
 }

 // dongulerle diziye değer atama

 int sayidizisi[5]; //int tipinde bir sayi dizisi tanımlama, dizinin boyutunu 5 olarak belirleme 

 int sayac = 0; // int tipinde sayac değiskeni tanımlama, ilk değeri 0

 while (sayac < 5)
 {
  printf("\n %d . degeri giriniz : ",sayac);

  scanf("%d",  &sayidizisi[sayac] );

  sayac++; //saya değerini bir arttırma 
 }


 sayac = 0; // sayac ı sıfırla

 while (sayac < 5) // dayidizisi dizindeki değerleri konsol ekranına yaz
 {
  printf("\n %d, " ,  sayidizisi[sayac]);
  sayac++;
 }
 printf("\n");

 // if else ve for yapısının kullanımı

 char cumle[256]; // string tipinde değişken tanımlama

 printf("\nbir yazi giriniz...\n>>");

 scanf("%s",&cumle) ;

 // menu işlemi

 int secim = -1;

 while (secim != 0)
 {
  printf("\n\n\nyazi okumak icin      => 1\n");
  printf( "yaziyi yazdırmak icin => 2\n");
  printf( "cikic icin            => 0\n");
  printf( "devam etmek icin herhangi bir deger giriniz\n");

  scanf(" %d ",  &secim); 

  if (secim == 1)
  {
   scanf(" %s ", &cumle); // okuma işlemi yapar
  }
  else if (secim == 2)
  {
   printf(cumle);//konsolekranına yazma işlemi yapar
  }
  else if (secim == 0)
  {
   break; //çıkış işlemini gerçekleştirir
  }
  else
  {
   printf("\nYeniden sorguya devam eder.....");
  }
 }

 //iterative olarak faktöriyel hesabı yapma

 printf("\nNegatif olmayan bir tam sayi giriniz : ");

 int sayiAl = -1;

 scanf(" %d ",  &sayiAl);//girilen değerin int tipine  çevir

 int sonuc = 1;

 for (sayac = 1; sayac <= sayiAl; sayac++)
 {
  sonuc = sonuc * sayac;
 }
 printf("\nislemin sonucu = %d" ,sonuc);//sonucu konsol ekranına yaz

 getch();
}

C Konsoldan Girilen 10 Sayının Ortalamasını Minimumunu Maksimumunu ve Toplamını Hesaplam



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.10 sayının girilmesi tamamlandıktan sonra girilen sayıların minimumu, maksimumu, ortalaması ve toplamı hesaplanacak. Hesaplan ortalama değere en yakın sayı bulunacak.









#include < stdio.h >
#include < stdlib.h >

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

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

 while(devamEtsinMi)
 {
  int girilenSayilar[10];
  int girilenSayiSayisi = 0;
  int girilenSayi = 0;

  printf("\n10 sayi 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.


    scanf("%d",&girilenSayi);

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

     //Yeni sayı girmeye devam ediyorum. 

    }

    if (girilenSayiSayisi == 10)
    {
     printf("\n10 sayi girilmiştir\n ");

     break;
    }
   }

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

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

   printf("\nMinimum Olan Sayı     : %d"  
    "\nMaksimum Olan Sayı       : %d  " 
    "\nSayıların Toplam Değeri   : %d "
    "\nSayıların Ortalama Değeri : %d  ",
    enKucukSayi,enBuyukSayi,sayilarinToplami,sayilarınOrtalamasi);


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

   int fark = abs(sayilarınOrtalamasi - girilenSayilar[0]);

   int buffer = 0;
   int enYakinSayi = 0;

   for (int i = 0; i < girilenSayiSayisi; i++)
   {
    buffer = abs(sayilarınOrtalamasi - girilenSayilar[i]);
    if (buffer < fark)
    {
     fark = buffer;
     enYakinSayi = girilenSayilar[i];
    }
   }

   printf("\n\n En yakin sayi:  %d",enYakinSayi );


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

   printf("\n\n\nYeni 10 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;


  }

  return 0;
 }
}




27 Aralık 2013 Cuma

C Konsol Uygulamalar İki Tam Sayı Arasındaki Asal Sayıları Bulma



KONU : C Konsol Uygulamalar - c konsoldan girilen iki tam sayı arasındaki asal sayıları bulma uygulaması.
ETİKETLER: c konsol asal - c konsol asal sayılar - c konsol asal sayı bulma - asal sayıları bulma - asal sayılar








#include< stdio.h >
#include< stdlib.h >
#include< conio.h >  

int main(void)
{
 bool devammi = true;
 int asalsayilar[1000];


 //programdan istenilene kadar çıkmak için sonsuz döngü başlat
 while (devammi)
 {
  //bu programda konsoldan girilen iki sayı arasındaki 
  //asal sayıları bulacağız

  int sayi_1, sayi_2, asalsayisayisi = 0;
  bool asalmi = false;
  //Her döngüde içeriği temizlemek için geçmişi sil.
   
  for (int i = 0; i < 1000; i++)
  {
   asalsayilar[ i ]=-1;
  }

  //öncelikle konsoldan iki sayı girilmesini istiyoruz.

  printf("birinci sayıyı giriniz\t:");

  scanf("%d",&sayi_1);
  
  printf("İkinci sayıyı giriniz\t:");
  
  scanf("%d",&sayi_2);

  //eğer ikinci sayı birinci sayıdan küçük ise
  //ikinci sayıyı tekrar giriilmesini istiyoruz

  while (sayi_2 < sayi_1)
  {
   printf("İkinci sayı birinci sayidan buyuk olmalı\n");
   printf("ikinci sayiyi tekrar giriniz\t:");
   scanf("%d",&sayi_2);
  }

  int a = 2;

  //bu for döngüsünde girilen ilk sayıdan başlayarak 
  //ikinci sayıya kadar olan sayıları teker teker asal  mı 
  //değil mi diye kontrol ediyoruz
  //asal sayıları arraylist de topluyoruz sonradan ekrana yazdırmak için

  for (int i = sayi_1; i <= sayi_2; i++)
  {
   a = 2;
   asalmi = false;
   while (a <= i / 2)
   {
    if (i % a == 0)
     asalmi = true;
    a++;
   }

   // sayı asal ise bu sayı listemize ekliyoruz

   if (!asalmi && i != 1)
   {
    asalsayilar[asalsayisayisi++]=i;
   }

  }


  //iki sayı arasındaki sayıları kontrol ettikten sonra
  //bulunan asal sayıları konsol ekranına yazdırıyoruz

  printf("%d ile %d arasinda %d adet asal sayi vardir. Bunlar:\n",sayi_1,sayi_2,asalsayisayisi);
  for (int i = 0; i < asalsayisayisi; i++)
  {
   printf("%d",asalsayilar[ i ]);
   if (i + 1 < asalsayisayisi) printf(",");
  }


  //kullanıcıya devam edip etmek istemediğini soruyoruz.

  printf("\n\n***************************\ndevam etmek için ->1  giriniz\nçıkış için       ->0  giriniz\n");
  
  int durum = 0;
  
  scanf("%d",&durum);
  
  if (durum == 0)
   devammi = false;
  else
   printf("Girilen değer: 1\nprogram devam ediyor\n");
 }

}

/*      PROGRAM ÇIKTISI 
* 
birinci sayıyı giriniz  :1
İkinci sayıyı giriniz   :17
1 ile 17 arasinda 7 adet asal sayi vardir. Bunlar:

2,3,5,7,11,13,17

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

1
Girilen değer: 1
program devam ediyor

birinci sayıyı giriniz  :2
İkinci sayıyı giriniz   :1222
2 ile 1222 arasinda 199 adet asal sayi vardir. Bunlar:

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,1
07,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,2
23,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,3
37,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,4
57,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,5
93,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,7
19,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,8
57,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,9
97,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,10
97,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

1
Girilen değer: 1
program devam ediyor

birinci sayıyı giriniz  :3
İkinci sayıyı giriniz   :99
3 ile 99 arasinda 24 adet asal sayi vardir. Bunlar:

3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

***************************
devam etmek için ->1  giriniz
çıkış için       ->0  giriniz

0

*/


   





C Konsol Uygulamalar Yıldız ile Kenar Uzunluğuna Göre İçi Boş Üçgen Çizdirme Method 1



KONU : C Konsol Uygulamalar - Yıldız kullanarak konsol ekranına girilen kenar uzunluğuna göre içi boş üçgen çizdirme.
ETİKETLER:c konsol yıldız - c konsol üçgen - üçgen çizme - konsol işlemleri








#include < stdio.h >

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

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


 while(devamEtsinMi)
 {
  printf("Kenar Uzunluğunu Giriniz : ");

  scanf("%d",&kenarUzunlugu);

  int ortaNokta = kenarUzunlugu - 1;

  int n = 0;

  for (int i = 0; i < kenarUzunlugu; i++)
  {
   int b = 0;

   for (int j = kenarUzunlugu - n; j > 0;j-- )
   {

    if (i < kenarUzunlugu - 1)
    {
     printf(" ");
     if (j == 1 && b < 2)
     {
      printf("*");
      j = 2 * n;
      b++;
     }
    }
    else
    {  
     printf("*");
     j = 3;
     b++;
     if (b >= 2 * kenarUzunlugu - 1)
      j = 0;
    } 
   }
   
   printf("\n");
   
   n++;
  
   if(kenarUzunlugu-1==n)
    printf(" ");
  }
  printf("\n");

  //Çizilmiş olan üçgeni yeni date gelene kadar ekranda beklet

  printf("Programdan cikmak icin =>0\nDevam etmek icin =>1 basiniz.\n<=");

  scanf("%d",&secim);

  if(secim==0)
  {
   devamEtsinMi=false;//programda çık
  }
  else
  {
   devamEtsinMi=true;//programa devam et
  }

 }

 return 0;
}
   





23 Aralık 2013 Pazartesi

C Konsol Faktöryel Hesaplama



KONU : C Konsol Uygulamalar - c konsolda tekrarlamalı faktöriyel hesaplama yönetemi.
ETİKETLER: c konsolfaktörüyel - c konsol recursive - c konsol özyineleme - c konsol tekrarlamalı








//Question : Write a program which calculates the factorial
//     of an integer by using recursive function.


#include< stdio.h >
#include< conio.h >

int faktoriyel(int);

int main()
{
 int number, devammi=0;
 long result;
 
 //porgramdan istendiği zaman çıkmak için sonsuz dongu While(true) kullan

 while(true)
 {
  printf("Enter a number to view its factorial:\n");
  
  // faktoriyeli hesaplanacak sayıyı giriniz
  
  scanf("%d",&number);
  
  if(number<0)
  {
   printf("Number must be positive !! \n");
  }
  else
  {
   result = faktoriyel(number);
   printf("factorial(%d) = %ld \n",number,result);
  }

  printf("\n\nDevam etmek istiyorsaniz =>1\nCikmak istiyorsaniz =>0 basiniz.\n<=");
  
  scanf("%d",&devammi);

  //Eğer çıkmak için 1 e basılmışsa loop dan break komutu ile çıkılır.
  
  if (devammi==0)
   break;
 }
}

int faktoriyel(int number)
{
 //faktoriyeli recursive olarak hesaplayan metod
 
 if(number==0 || number==1)
  return 1;
 else
  return number*(faktoriyel(number-1));
}

   





22 Aralık 2013 Pazar

C Konsol Uygulamalar OKEK - EKOK Hesaplama Uygulaması

KONU : C Konsol Uygulamalar - 2 sayının ekok değerini hesaplama veya girilen 2 sayının okek değerini hesaplama. Konsol ekranında girilen int tipinde sayıları scanf fonksiyonu kullanarak okuma ve değişkene atama. Konsoldan girilen iki sayının en küçük ortak katsayısını hesaplama. Konsoldan girilen iki sayının ortak katsayılarının en küçüğünü hesaplama. Sonsuz döngü kullanarak uygulamanın kullanıcı çıkmak isteyinceye kadar çalışmasını sağlama.
ETİKETLER: c konsol okek - c konsol ekok - c konsol okek hesaplam - c konsol ekok hesapla - okek - ekok - c hesaplama


#include< stdio.h >


int main()
{
 int birinciSayi;
 int ikinciSayi;
 int devammi;
 int birinci=0,ikinci=0;
 
 //program istenmedigi surece devam etsin

 while(true)
 {
  int okekDegeri = 1;
  int bolen = 2;
 
  printf("\nOKEK i hesaplanacak birinci sayiyi giriniz  <=");
  scanf("%d",&birinciSayi);
  
  printf("\nOKEK i hesaplanacak ikinci  sayiyi giriniz  <=");
  scanf("%d",&ikinciSayi);
  
  birinci=birinciSayi;
  ikinci=ikinciSayi;

  while (birinciSayi > 1 || ikinciSayi > 1)
  {
   //iki sayi da ayni sayiya bölünüyorsa 
  
   if (birinciSayi % bolen == 0 && ikinciSayi % bolen == 0)
   {
    okekDegeri = okekDegeri * bolen; 
    birinciSayi = birinciSayi / bolen;
    ikinciSayi = ikinciSayi / bolen;
   }
   else if (birinciSayi % bolen == 0)
   {
    //Buradaki bölen sadece birinci sayının böleni
   
    okekDegeri = okekDegeri * bolen; 
    birinciSayi = birinciSayi / bolen;
   }
   else if (ikinciSayi % bolen == 0)
   {
    //Buradaki bölen sadece ikinci sayının böleni
    
    okekDegeri = okekDegeri * bolen; 
    ikinciSayi = ikinciSayi / bolen;
   }
   else
   {
    //Eğer bolen in eşit olduğu değer iki sayıyı da bölmüyorsa bolen i bir artır.
    
    bolen++;
   }
  }
 
  printf("OKEK( %d , %d ) = %d",birinci,ikinci,okekDegeri);
  
  //Bir tuşa basılana kadar bekle

  printf("\n\nDevam etmek istiyorsaniz =>1\nCikmak istiyorsaniz =>0 basiniz.\n<=");
  scanf("%d",&devammi);

  //Eğer çıkmak için 1 e basılmışsa loop dan break komutu ile çıkılır.
  
  if (devammi==0)
   break;
 }

 return 0;
}
   

20 Aralık 2013 Cuma

C Konsol Uygulamalar Sayı Tahmin Etme Oyunu



KONU : C Konsol Uygulamalar - C konsolda 0 - 1 seçilen rastgele bir sayıyı tahmin etme oyunu.
ETİKETLER: c konsol sayı tahmin etme - c konsol random - c konsol rastgele sayı - c konsol sayı










#include< stdio.h >
#include< stdlib.h >
#include< conio.h >


int main()
{
 // tahnib edilecek sayının maksimum değeri 

 int bulunacak_sayi =rand()%100;

 // Oyun sürekli devam edecek. Oyundan çıkılmak istendiğinde bu değer 0 olacak

 int devam_etsin_mi = 1;

 // Oyunun sürekli devam etmesi için sonsuz while döngüsü
 // döngüden break komutu ile çıkılacak


 while (true)
 {
  // tahmin edilmesi gereken sayıyı rastgele seç

  bulunacak_sayi = rand()% 100;

  int ustsinir = 100, girilen_sayi;

  printf("\n\n******************\n\nYeni oyun Basladi...\n\n******************\n");
  printf( "\n%d dan kucuk bir sayi giriniz \n>>",ustsinir);

  // oyun sırasında oyuncuyu yönledirecek olan komutlar
  // Oyuncu sayıyı doğru tahmin ettiğinde sonsuz while döngüsü break komutu
  // ile sonlanacak
  
  while (true)
  {
   scanf("%d",&girilen_sayi);
   if (girilen_sayi < bulunacak_sayi) //tahmin edilen sayı küçük ise
   {
    printf( "%d den daha buyuk bir sayi giriniz\n>>",girilen_sayi);
   }
   else if (girilen_sayi > bulunacak_sayi) // tahmin edilen sayı büyükse
   {
    printf("%d den daha kucuk bir sayi giriniz\n>>",girilen_sayi);
   }
   else if (girilen_sayi == bulunacak_sayi) // tahmin edilecek sayı doğru bilinmiş ise
   {
    printf("Tebrikler bildiniz\n");
    break; // İçte bulunan sonsuz while döngüsünden çık
   }
  }

  printf("\n\nYeni oyun icin->1, cikmak icin ->0 giriniz\n>>");
  
  scanf("%d",&devam_etsin_mi) ;
  
  if (devam_etsin_mi == 0)
   break; // oyundan çıkma işlemi, konsol kapanacak
  
  
  // Eğer oyundan çıkmak için 0 girilmiş ise, break komutuyla en dıştaki 
  // sonsuz while döngüsünden çıkılacak ve konsol programı kapanacak
 }
}

/*

===>>> Örnek program çıktısı (Programın çalışmasına bir örnek):

******************

Yeni oyun Basladi...

******************

100 dan kucuk bir sayi giriniz
>>34
34 den daha buyuk bir sayi giriniz
>>55
55 den daha buyuk bir sayi giriniz
>>77
77 den daha kucuk bir sayi giriniz
>>66
66 den daha buyuk bir sayi giriniz
>>70
70 den daha kucuk bir sayi giriniz
>>69
69 den daha kucuk bir sayi giriniz
>>68
68 den daha kucuk bir sayi giriniz
>>67
Tebrikler bildiniz


Yeni oyun icin->1, cikmak icin ->0 giriniz
>>1


******************

Yeni oyun Basladi...

******************

100 dan kucuk bir sayi giriniz
>>76
76 den daha kucuk bir sayi giriniz
>>45
45 den daha kucuk bir sayi giriniz
>>24
24 den daha buyuk bir sayi giriniz
>>35
35 den daha kucuk bir sayi giriniz
>>30
30 den daha buyuk bir sayi giriniz
>>32
32 den daha buyuk bir sayi giriniz
>>33
33 den daha buyuk bir sayi giriniz
>>34
Tebrikler bildiniz


Yeni oyun icin->1, cikmak icin ->0 giriniz
>>
*/   





16 Aralık 2013 Pazartesi

C Konsol Uygulamalar İki Sayı Arasındaki Çift Sayıları Listeleme



KONU : C Konsol Uygulamalar - c konsolda iki sayı arasındaki çift sayıların sayısını hesaplama ve iki sayı arasdındaki çift sayıları listeleme.
ETİKETLER: c çift sayılar - c çift sayı - c çift sayıları bulma - c iki sayı arasındaki çift sayılar








#include < stdio.h >

int main()
{
 bool devammi=true;
 while (devammi)
 {
  int sayi_1, sayi_2, toplamcift = 0,i;
  int ciftSayiListe[1000];

  printf("bir sayi giriniz\t:");
  scanf("%d",&sayi_1);
  printf("İkinci sayiyi giriniz\t:");
  scanf("%d",&sayi_2);

  while (sayi_2 < sayi_1)
  {
   printf("İkinci sayi birinci sayidan buyuk olmalı");
   printf("ikinci sayiyi tekrar giriniz\t:");
   scanf("%d",&sayi_2);
  }
  
  for ( i = sayi_1; i < sayi_2; i++)
  {
   if (i % 2 == 0)
   {
    ciftSayiListe[toplamcift++] = i;
   }
  }

  printf( "%d ile %d arasinda %d adet cift sayi vardir.\nBunlar:\n\n",sayi_1,sayi_2,toplamcift);
  
  for ( i = 0; i < toplamcift; i++)
  {
   if(i+1==toplamcift)
    printf("%d",ciftSayiListe[i]);
   else
    printf("%d ,",ciftSayiListe[i]);
  }

  printf("\n\n***********************\n devam etmek icin ->1 \ncikis için ->0  giriniz\n");
  
  scanf("%d",&i);
  if (i == 0)
   devammi = false;
  else
   printf("Girilen deger: 1\nprogram devam ediyor\n");
 }
}
   





C Konsol Uygulamalar Metin Şifreleme



KONU : C Konsol Uygulamalar - c konsolda metin şifreleme uygulaması
ETİKETLER: c şireleme - c şifre - c şifre koyma - c şifre işlemi - c metin şifreleme









#include < stdio.h >
#include < conio.h >

int main()
{

 FILE *fptr1;
 FILE *fptr2;
 int sec;
 //şifrelenmek istenen metinin bulunduğu dosya
 char dosya_adi1[50] ="TestFile1.txt";
 //şifrelenen metnin yazılacağı dosya
 char dosya_adi2[50] ="TestFile2.txt";
    //dosyalardan karakterleri bire birer çekerken
 //kullanılacak değişkeler
 char temp, son;


basla:

 printf("1 - Sifrele\n2 - Sifre coz\n3 - Cikis\n\nSeciniz ? : ");

 scanf("%d", &sec);

 switch(sec)
 {
 case 1://Şifrelem seçeneği seçilmiş ise
  {
   //şifrelenecek metnin bulunduğu dosyayı aç

   if((fptr1 = fopen(dosya_adi1, "r")) == NULL)
   {
    printf("Dosya bulunamadi!\n\n-------------\n\n");

    goto basla; //yeniden başa dön
   }
   else //Eğer dosya açılmış ise dosyayı işle 
   {
    int i=0;

    fptr2 = fopen(dosya_adi2, "w");

    while(!feof(fptr1)) //sayfa sonuna gelene kadar devam et
    {
     //Eğer alınan data bir karakter ise bunu temp e ata

     if(fscanf(fptr1, "%c", &temp)==1)
     {
                        //şifrelemede noktalama işareti istenmiyor 

      //Bundan dolayı sadece harf kullanılacak

      if (temp == 'a' || temp == 'z' || temp == 'A' || 
      temp == 'Z' || temp == ' ' || temp == '\n' || temp == '\r')

       son = temp;
      else
      {
       //eğer karakter harf ve a ile z arasında ise
       //bu değeri 1 ile şifrele
       son = (temp ^ 1);
      }
                        //şifrelenen karakteri ikinci dosyaya yaz
      fprintf(fptr2, "%c", son);
     }
    }

    // iki dosyayı da kapat

    fclose(fptr1);

    fclose(fptr2);

    //konsola işlem tamamlandı yaz

    printf("Sifreleme tamamlandi.\n\n-------------\n\n");
   }

   //yeniden başa dön
   goto basla;
   break;
  }

 case 2://Eğer işlem şifre çözme ise
  {
   //şifrelenmiş olan metin al

   if((fptr1 = fopen(dosya_adi2, "r")) == NULL)
   {
    //dosya bulunamadıya konsola dosya bulunamadı yaz

    printf("Dosya bulunamadi!\n\n-------------\n\n");

    goto basla; //tekrar basa dön
   }
   else //Eğer şifrelenmiş dosya bulunduysa
   {
    //şifresi çözünen metnin yazılacağı dosyayı aç

    fptr2 = fopen(dosya_adi1, "w");

    while(!feof(fptr1))//sayafa sonuna kadar git
    {

     //dosyadan okunan karakter sayısı bir ise

        if(fscanf(fptr1, "%c", &son)==1)
     {
                        //şifrelemede noktalama işareti istenmiyor 
      //Bundan dolayı sadece harf kullanılacak

      if (son == 'a' || son == 'z' || son == 'A' || 
     son == 'Z' || son == ' ' || son == '\n' || son == '\r')
       temp = son;
      else
      {
       //şifrelenmiş datayu tekrar eski haline getir
       temp = (son ^ 1);
      }
      //şifresi çözünen metni sayfaya yaz
      fprintf(fptr2, "%c", temp);
     }
    }
    //açık olan iki dosyayı kapat

    fclose(fptr1);
    fclose(fptr2);

    //konsola şifre çözme işlemi tamamlandı yaz
    printf("Sifre cozme tamamlandi.\n\n-------------\n\n");
   }

   goto basla; //tekra başa dön
   break;
  }

 case 3: //Eğer çıkış seçilmiş ise
  {
   return 0; //sıfır dön ve switch den çıksın
   break;
  }

 default:
  {
   //bir hata olmuş ise (yanlış değer girilmiş ise)
   printf("\nYanlis giris yaptiniz.\n\n-------------\n\n");
   goto basla;
  }

 }

 getch();
 return 0;
}  





5 Aralık 2013 Perşembe

C Konsol Uygulamalar Tekrarlamalı Faktöriyel Hesaplama (Recursive)

KONU : C Konsol Uygulamalar - recursive faktöriyel hesaplama, tekrarlamalı faktöriyel hesaplama. Konsoldan girilen int tipinde bir değişkeni scanf ile okuma ve int tipinde bir değişkene atama. Tekrarlamalı fonksiyon yöntemi kullanarak faktöriyel hesaplama. int tipinde değişken dönen fonksiyon yazımı. scanf ile sayı okuma. Recursive fonksiyon kullanımı ile ilgili örnek uygulama.
ETİKETLER: c faktöriyel hesaplama - c recursive faktöriyel hesaplama - c özyinemeli faktöriyel hesaplama - c döngüler - c konsol okuma - c konsol yazdırma.


#include < stdio.h >

int faktoriyel(int sayi);

int main()
{
 int sayi;
 
 int sonuc=0;
 
 printf( "Pozitif bir tam sayi giriniz: ");
 
 scanf("%d", &sayi);
 
 while(sayi < 0)
 {
  printf("Girilen tam sayı pozitif olmalidir !! \n");
 
  printf( "Pozitif bir tam sayı giriniz: ");

  scanf("%d", &sayi);
 }
 
 // Girilen değer pozitif ise bu değeri sonuç yaz ve konsola yaz

 sonuc = faktoriyel(sayi);

 printf("factorial(%d) = %ld \n",sayi,sonuc);

 //konsol ekranında sonucu görmek için bir karakter girilene kadar bekle

 scanf("%d",&sayi);
}

int faktoriyel(int sayi)
{
 //faktoriyeli recursive olarak hesaplayan metod

 if(sayi==0 || sayi==1)
  return 1;
 else
  return sayi*(faktoriyel(sayi-1));
}
   

4 Aralık 2013 Çarşamba

C Konsol Uygulamalar OBEB Hesaplama Örneği

KONU : C Konsol Uygulamalar - OBEB hesaplama örneği - EBOB Hesaplama örneği. Konsoldan girilen int tipindeki değişkenleri okuma ve bir değişkene atama. Konsoldan girilen 2 sayınını en büyük ortak bölenlerini bulma. Konsoldan girilen iki sayının ortak bölenlerinin en büyüğünü hesaplama. Konsol ekranın işlem sonucunu printf kullanarak yazdırma. Sonsuz döngü kullanarak programın kullanıcı çıkmak isteyene kadar çalışmasını sağlama.
ETİKETLER: c konsol ebob - c konsol obeb - c konsol döngü - c konsol if else örnekleri


#include< stdio.h >


int main()
{
 int birinciSayi;

 int ikinciSayi;

 int devammi;

 int birinci=0,ikinci=0;//birinci ve ikinci sayıyı saklamak için kllanılacak

 //program istenmedigi surece devam etsin
 while(true)
 {
  int obebDegeri = 1;

  int bolen = 2;

  printf("\nOBEB i hesaplanacak birinci sayiyi giriniz  <=");

  scanf("%d",&birinciSayi);

  printf("\nOBEB i hesaplanacak ikinci  sayiyi giriniz  <=");

  scanf("%d",&ikinciSayi);

  birinci = birinciSayi;

  ikinci = ikinciSayi;

  while (birinciSayi > 1 && ikinciSayi > 1)
  {
   //iki sayi da ayni sayiya bölünüyorsa bu sayi ortak bölendir.
   if (birinciSayi % bolen == 0 && ikinciSayi % bolen == 0)
   {

    obebDegeri = obebDegeri * bolen; //en büyük ortak bölen değeri

    birinciSayi = birinciSayi / bolen;

    ikinciSayi = ikinciSayi / bolen;
   }
   else if (birinciSayi % bolen == 0)
   {
    //Buradaki bölen sadece birinci sayının böleni, ortak bölen değil
    birinciSayi = birinciSayi / bolen;
   }
   else if (ikinciSayi % bolen == 0)
   {
    //Buradaki bölen sadece ikinci sayının böleni, ortak bölen değil
    ikinciSayi = ikinciSayi / bolen;
   }
   else
   {
    //Eğer bolen in eşit olduğu değer iki sayıyı da bölmüyorsa bolen bir artır.
    bolen++;
   }
  }


  printf("OBEB( %d , %d ) = %d",birinci,ikinci,obebDegeri);
  //Bir tuşa basılana kadar bekle

  printf("\n\nDevam etmek istiyorsaniz =>1\nCikmak istiyorsaniz =>0 basiniz.\n<=");

  scanf("%d",&devammi);

  //Eğer çıkmak için 1 e basılmışsa loop dan break komutu ile çıkılır.
  if (devammi==0)
   break;
 }

 return 0;
}
  

C Konsol Uygulamalar Yıldız ile Kenar Uzunluğuna Göre İçi Boş Üçgen Çizdirme Method 2

KONU : C Konsol Uygulamalar - Yıldız kullanarak konsol ekranına girilen kenar uzunluğuna göre içi boş üçgen çizdirme. For döngüsü kullanarak konsoldan girilen kenar uzunluğuna göre içi boş eşkenar üçgen çizdirme uygulaması.
ETİKETLER:c konsol yıldız - c konsol üçgen - üçgen çizme - konsol işlemleri


// ucgenciz.cpp : Defines the entry point for the console application.
//

#include 

int main()
{
 int kenarUzunlugu,i,k,secim;
 
 bool devamEtsinMi=true; //programdan çıkılmak istendiğnde false değerini alacak
 
 while(devamEtsinMi)
 {
  printf("Kenar Uzunluğunu Giriniz : ");
  scanf("%d",&kenarUzunlugu);
  int ortaNokta = kenarUzunlugu - 1;
  int taban = kenarUzunlugu * 2 - 1;

  for (i = 0; i < kenarUzunlugu; i++)
  {
   for (k = 0; k < taban; k++)
   {
    if ((i + k == ortaNokta || k - i == ortaNokta) )
    {
     //Üçgenin kenarları çiziliyor
     printf("*");
    }
    else if (i == ortaNokta)
    {
     //Üçgenin tabanı çiziliyor
     printf("*");
    }
    else
    {
     //Üçgein kenar çizgileri dışındaki kısımlar boş bırakılıyor
     printf(" ");
    }
   }
   //yeni satıra geçmek için
   
   printf("\n");
  }
  
  //Çizilmiş olan üçgeni yeni date gelene kadar ekranda beklet
  
  printf("Programdan cikmak icin =>0\nDevam etmek icin =>1 basiniz.\n<=");
  
  scanf("%d",&secim);
  
  if(secim==0)
  {
   devamEtsinMi=false;//programda çık
  }
  else
  {
   devamEtsinMi=true;//programa devam et
  }

 }

 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)