21 Kasım 2014 Cuma

C Konsol MasterMind Sayı Tahmin Etme Oyunu

KONU : C Konsol Uygulamalar - rastgele 4 basamaklı sayı oluşturma. 4 basamaklı sayıyı basamaklarına ayırma. 4 basamaklı sayı tahmin etme oyunu. Mastermind oyun uygulaması oluşturma. Sonsuz döngü kullanımı ve break komutu kullanımı.
ETİKETLER: c - konsol - mastermind - basamak - matematik - random - rastgele - sayı - for - while


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

void main()
{

 char estimatedNumber[4];

 int  i, length;

 //int tipine dönüştüreceğimiz sayı
  int digitOk = 0;
  int digitNotOk = 0;

 //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
 int digitValue[4];

 int targetNumber[4];

 //tahmin edilecek sayının basamaklarını oluşturalım
 for(i=0; i<4; i++)
    {
  targetNumber[i] = (rand() + rand())%10; // rand() fonksiyonu ile 0 - 10 arasında bir sayı oluşturuyorum
 }

 while(true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
 {
  digitOk = 0;
  digitNotOk = 0;

  //konsoldan bir sayı giriniz.
  printf("\n\nEnter a number: ");

  //konsoldan girilen sayıyı oku
  gets(estimatedNumber);

  //sayının uzunluğunu kontrol et
  length = strlen(estimatedNumber);

  //okunan dört basamaklı sayıyı int tipine dönüştür
  for(i=0; i < length; i++)
  {
   digitValue[i] = estimatedNumber[i] - '0';


   bool digitAvailable = false;

   for(int j=0; j<4; j++)
   {
    if(digitValue[i] == targetNumber[j])
    {
     digitAvailable = true;
     break;
    }
   }
   
   if(digitAvailable == true)
   {
    if(digitValue[i] == targetNumber[i])
    {
     digitOk++;
    }
    else
    {
     digitNotOk++;
    }
   }
   
  }

  printf(" Information =  +%d  -%d ", digitOk, digitNotOk);

  if(digitOk == 4)
  {
   break;
  }
 }

 printf("\n ****Game Over**** ");
 printf("\n ****Game Over**** ");
 scanf("%d",&i);
}

20 Kasım 2014 Perşembe

C konsolda konsol ekranına girilen kelimeleri tersine çevirip konsol ekranına yazdırma

KONU : C Konsol Uygulamalar - konsol ekranında girilen kelimeleri tersine çevirip konsol ekranına yazdırma uygulaması.
ETİKETLER: dizi - c - c konsol - string - char - int - ters- for döngüsü


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

void TersiniYaz(char str[]);

int main()
{
 char yazi[100];

 printf(" Tersini yazdirmak istediginiz yaziyi giriniz ");
 
 scanf("%s", yazi);
 
 TersiniYaz(yazi);
 
 printf("Tersine yazilimi : ");
 
 printf("%s",yazi);

 int c;
 scanf("%d", &c);
 
 return 0;
}

void TersiniYaz(char yazi[])
{
 int i,j;

 char tersyazi[100];

 j=0;

 for(i=strlen(yazi)-1; i != -1; i--)
 {
  tersyazi[j]=yazi[i]; 
  j++;  // bir sonraki karaktere geç
 }

 tersyazi[j]='\0';

 strcpy(yazi,tersyazi);
}
   

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

C Konsol dizide en çok tekrarlayan elemanı bulma 2. yöntem

KONU : C Konsol Uygulamalar - dizide en çok tekrarlayan elemanı bulma.
ETİKETLER: dizi - en çok tekrarlayan - array - dizi eleman sayısı - for döngüsü


#include < stdio.h >
//#include < conio.h >
//#define SIZE 10
int main()
{
 int Array[]={2,2,2,3,3,3,3,6,5,8,9,9,9,9,9,9};
 int i,k,j;
 int diziElemanSayisi = 16;
 int enFazlaOlan = -1;
 int enFazlaOlanSayi = -1;
 int tekrarlamaSayisi = 0;
 

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

  for (k = 0; k < diziElemanSayisi; ++k)
   if (Array[k] == Array[i])
    ++sayici;

  if (sayici > tekrarlamaSayisi) {
   tekrarlamaSayisi = sayici;
   enFazlaOlanSayi = Array[i];
  }
 }

 printf("En fazla olan sayi : %d  \nAdet sayisi: %d ",enFazlaOlanSayi,tekrarlamaSayisi);
 printf( "\n" );
 printf( "\n" );
 //getch();
 char a;
 scanf("%s",&a);
 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)