Döngüler etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Döngüler etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Aralık 2014 Pazartesi

C Konsol Malloc Kullanarak Hafızada Veri Saklama ve Dizi ile BubbleSort Algoritması Kullanımı

KONU : C Konsol Uygulamalar - Bubble sort algoritması kullanarak konsol ekranından girilen sayıları sıralama. Konsoldan girilen sayıları int tipinde bir diziye atama. Hafızada int tipinde girilen sayıları tutmak için yer ayırma ve bu adresi pointer ile kullanma. Pointer parametre alan fonksiyon tanımlama ve kullanma


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

void bubbleSort(int [],int);
void swap(int *,int *);
int main(void) {
 int *Arr;
 int i=0,n;
 while(1)
 {
  printf("Eleman sayisini girin: ");
  scanf("%d",&n);
  if(n<0)
  break;
  
  Arr=(int *)malloc(sizeof(int)*n);
  if(Arr==NULL)
  {
   printf("Basarisiz.");
   exit(1);
  }
  
  for(i=0;i < n;i++)
  {
   printf("%d.Eleman: ",i+1);
   scanf("%d",&Arr[i]); 
  }
  
  bubbleSort(Arr,n);


  printf("\n\nSonuc :\n\n");
  for(i=0;i < n;i++)
  {
   printf("%d.Eleman: %d \n",i+1,Arr[i]);
  
  }
  
  free(Arr);
 }
 
 return 0;
}

void bubbleSort(int Array[],int n)
{
 int i,j;
 for(i=0;i < n;i++)
 {
  for(j=0;j < n-1;j++)
  {
   if(Array[j] > Array[j+1])
   swap(&Array[j],&Array[j+1]);
  }
 }
}

void swap(int *ptr1, int*ptr2)
{
 int temp;
 temp=*ptr1;
 *ptr1=*ptr2;
 *ptr2=temp;
}
   

7 Aralık 2014 Pazar

C Konsol İki Boyutlu Diziler Kullanarak Konsoldan Data Alma ve Matriks Şeklinde Konsola Yazdırma

KONU : C Konsol Uygulamalar - iki boyutlu dizilerin kullanımı ve tanımlanması. Bir fonksiyona parametre olarak iki boyutlu bir dizi verme. İki boyutlu diziyi konsoldan girilen sayılar ile doldurma. İki boyutlu bir diziyi pointer olarak gösterip konsol ekranına dizi içeriğini makriks şeklinde yazdırma.
ETİKETLER: c matrix - c matriks- c diziler - c array - c iki boyutlu dizi - c pointer


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

int Matrix1[2][2]={0}; 
int Matrix2[2][2]={0}; 
 

void ShowMatrix(int *); 
void GetMatrixElement(int Matrix[][2],int no) ;

int main(void)
{ 


 //int i,j; 
 //printf("1.Matris:\n\n"); 
 //for(i=0;i<2;i++) 
 //{ 
 // for(j=0;j<2;j++) 
 // { 
 //  printf("%d satir %d sutun=",i+1,j+1); 
 //  scanf("%d",&Matrix1[i][j]); 
 // } 
 //} 


 GetMatrixElement(Matrix1,1);

 ShowMatrix((int *)Matrix1); 

    GetMatrixElement(Matrix2,2);

 ShowMatrix((int *)Matrix2); 

 getch();
 return 0; 
} 


void ShowMatrix(int *ptrMatrix ) 
{ 
 int i,j; 
 for(i=0;i < 2;i++) 
 { 
  for(j=0;j < 2;j++) 
  { 
   printf("%5d",*ptrMatrix); 
   ptrMatrix++; 
  } 
  printf("\n"); 
 } 
} 


void GetMatrixElement(int Matriks[][2], int no) 
{ 
 //Bu alanda 2ye2lik 2 matrisin satir ve sutun sayılarını isteyecek. 
 //Daha sonra ShowMatrix fonksiyonu kullanılarak ekrna gösterilecek. 
 //Nasıl yapabilirim? 

 int i,j; 

 printf("%d. Matriks:\n\n",no); 

 { 
  for(i=0;i < 2;i++) 
  { 
   for(j=0;j < 2;j++) 
   { 
    printf("%d satir %d sutun=",i+1,j+1); 
    scanf("%d", &Matriks[i][j]); 
   } 
  } 

 } 
}
 

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


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

2 Ocak 2014 Perşembe

C Konsol Tekrarlamalı Faktöriyel Hesaplama - iterative faktöriyel hesaplama

KONU : C Konsol Uygulamalar - iterative faktöriyel hesaplama, tekrarlamalı faktöriyel hesaplama.
ETİKETLER: c faktöriyel hesaplama - c iterative faktöriyel hesaplama - c tekrarlamalı 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 sayı giriniz: ");
 
 scanf("%d", &sayi);
 
 while(sayi < 0)
 {
  printf("Girilen tam sayı pozitif olmalıdır !! \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);//faktoriyel iterative olarak hesaplayan metod sonucu
 
 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)
{
 int sonuc=1;
 
 //faktoriyeli iterative olarak hesaplayan metod
 
 for(int i=sayi;i > 0;i--)
 {
  sonuc = sonuc * i;
 }

 return sonuc;
 
}
   

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





24 Aralık 2013 Salı

C Konsol Rastgele 6000 Kere Zara Atıldığında Gelen Yüzlerin Gelme Olasılığı



KONU : C Konsol Uygulamalar - Rastgele zar atıldığında gelen yüzlerin olasılığını hesaplama.
ETİKETLER: c konsol random - c konsol olasılık - c konsol zar arma - c konsol switch örnek - c konsol döngüler








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

int main(void)

{

 // zarların gelme olasılıkları

 int frequency[6];
 
 // Zar atmadan önce bütün yüzlerin gelme olasılığı sıfır

 for(int i=0; i<6;i++)
  frequency[i]=0;

 //zar atma sayısı

 int roll;
 
 // gelen yüz
 
 int face;

 //Zar 6000 kere atılacak

 for(roll = 1;roll <= 6000; roll++)
 {
  
  // rand() 0 ile 1 arasında sayı ürettiğinden 1 ile topla
 
  face = 1 + rand() %6;
  
  switch(face) {
        case 1:
       
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
       
         ++frequency[face -1];
         break;

        case 2:
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
         ++frequency[face -1];
         break;

        case 3:
       
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
       
         ++frequency[face -1];
         break;

        case 4:
        
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
        
         ++frequency[face -1];
         break;

        case 5:
        
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
        
         ++frequency[face -1];
         break;

        case 6:
       
         // diziler sıfırdan başladığından "face" değerinden bir çıkar
        
         ++frequency[face -1];
         break;
  }

 }


 // Hesaplanan zar gelme olasılıklarını ekrana yazdır
 
 printf("%s%13s\n", "Face" , "Frequency");
 
 printf( "1%13d\n", frequency[0]);
 
 printf( "2%13d\n", frequency[1]);
 
 printf( "3%13d\n", frequency[2]);
 
 printf( "4%13d\n", frequency[3]);
 
 printf( "5%13d\n", frequency[4]);
 
 printf( "6%13d\n", frequency[5]);

 // bir karakter giriline kadar bekle
 getch();
 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 10 Sayının Ortalmasını Hesaplama



KONU : C Konsol Uygulamalar - 10 sayının prtalamasını hesaplama ve konsol ekranına sayıları ve ortalamayı yazdırma.
ETİKETLER: c konsol ortalama - c ortalama - c konsol 10 sayı - 10 sayının ortalaması - c ortalama hesaplama








/* Question : The program below calculates the mean of 10 floating point numbers.*/

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


void display_array( float [ ] , int );


int main( void )                                 
{
   int i , size;
 
   // ortalaması alınacak sayıları diziye ekleme
  
   float array[  ] = { 1.4 , 1.7 , 2.4 , 5.4 , 4.7 , 5.7 , 1.6 , 4.9 , 7.9 , 9.9 };
  
   // toplam ve ortalama için ilk değer atama
  
   float sum=0 , mean=0;
   
   // dizinin uzunluğu, ya da diziye eklenen toplam sayı adedi
  
   size = 10;
  
   // Dizideki sayıları sırayla toplama ( for döngüsü kullanarak)
   
   for( i = 0 ; i < size ; i++ )
   {
      sum += array[ i ];
   }
  
   // console ekranına dizideki sayıları yazma
  
   display_array( array , size );
   
   //dizideki sayıların ortalamasını hesaplama
   
   mean = ( float )( sum ) / ( size );
   
   // hesaplanan ortalamayı console ekranına yazma
  
   printf( "The mean of the array is %.2f" , mean );

   //Programdan çıkmak için bir karakter girilmeli
  
   printf("\n\nPress a key for closing program.");
  
   // bir karakter girilmesini bekle
   
   getch();
}


/*---------------------------------------------------------------------------------*/
void display_array( float new_array[ ] , int size )
{
   int j;
  
   printf( "The elements in the array are :\n" );
  
   printf( "--------------------------------------------------------\n" );

   // for döngüsü ile ortalamsı alınacak sayıları ekrana yazma
  
   for( j = 0 ; j < size ; j++ )
   {
      printf( "%10.2f" , new_array[ j ]);
     
   if( ( j + 1 ) % 5 == 0 )
         printf( "\n" );
        
   }
}
   





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

21 Aralık 2013 Cumartesi

C Konsol Uygulamalar Char Dizisi Kullanarak Konsol Ekranına Yazı Yazdırma



KONU : C Konsol Uygulamalar - c konsol ekranında string karakter okuma ve char dizisi kullanarak konsol ekranına yazı yazdırma.
ETİKETLER: c konsol char - c konsol okuma - c konsol yazdırma - c konsol array - c konsol dizi - c konsol karakter








 /*Question : The program below prompts the user to enter his / her name and displays it on the screen.*/

                                                                                                                                                                                                                            #include< stdio.h >
#include< conio.h >
int main( void )
{
   int i = 0, k=0;
   //birinci dizimiz, dizi içindeki karakterlerden oluşan yazı 
   //direk olarak ekrana yazdırılacak
   char array_1[  ] = {'E','L','E','C','T','R','O','N','I','C','\0' };
   //ikinci dizimiz, bu yazının karakterleri for loop ile teker teker ekrana yazdırılacak
   char array_2[  ] = "M.FATİH SERTKAYA";
   // console ekranına girilen bir yazı bazı eklemeler yapıldıktan sonra
   // direk olarak ekrana yazdırılacak
   char array_3[ 20 ];

   // birinci diziyi ekrana yaz
   printf( "%s\n" , array_1 );

   // ikinci diziyi oluşturan karakterleri teker teker ekrana yaz (while kullanarak) 

   while( array_2[ i ] != '\0' )
   {
      printf( "%c" , array_2[ i ] );
      i++;
   }
 printf("\n");//Ekranda bir satır alta geç

 // ikinci diziyi oluşturan karakterleri teker teker ekrana yaz (while kullanarak) 
   for(int j = 0; j < i; j++)
   {
   printf( "%c" , array_2[ j ] ); 
   }
 printf("\n");//Ekranda bir satır alta geç

 // ikinci diziyi oluşturan karakterleri teker teker ekrana yaz (while kullanarak) 
   do
   { 
      printf( "%c" , array_2[ k ] );
      k++;
   }while(array_2[ k ] != '\0' );

   // üçüncü dizi, Console ekran ına girilen yazıyı bazı eklemeler yaptıktan sonra
   // yeniden console ekran ına yaz
   printf( "\n\n 20 KARAKTER UZUNLUGUNDA BIR YAZI YAZINIZ:" );
   scanf( "%s" , array_3 );
   printf( "M.FATİH SERTKAYA : %s" , array_3 );

   // Bir karakter girilene kadar beklemek için kullanılabilir
   getch();
}



                                                                                                              
   





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 10 Sayıyı Sıralama



KONU : C Konsol Uygulamalar - C konsolda 10 sayıyı küçükten büyüğe sıralama ve 10 sayıyı büyükten küçüğe sıralama.
ETİKETLER: c konsol sort - c konsol sıralama - c konsol sayılar - c sayılar - c sorting- c sort - c sayıları sıralama.










#include < stdio.h >
#include < conio.h >
#define SIZE 10
int main()
{
 //sıralacak olan dizi elemanları
 double a[ SIZE ] = { 69.50, 80.56, 43.05, 70.05 , 50.55, 85.30 , 30.56 , 90.00 , 97.56, 34.54};
 int pass, i; 
 double hold; 
 printf( "Data items in original order\n" );
 
 // Dizideki elemanların orijinal sırası ile ekrana yazma
 for ( i = 0; i < SIZE; i++ )
 {
  printf( "%2.2f\n", a[ i ] );
 } 
 
 // Dizideki elemanları artan sıra ile sıralama
 for ( pass = 1; pass < SIZE; pass++ ) {
  for ( i = 0; i < SIZE - 1; i++ ) {
   if ( a[ i ] > a[ i + 1 ] ) {
    hold = a[ i ];
    a[ i ] = a[ i + 1 ];
    a[ i + 1 ] = hold;
   } 
  }
 }

 printf( "\nData items in ascending order\n" );
 // Sıralanan dizi elemanları ekrana yazdırma
 for ( i = 0; i < SIZE; i++ ) {
  printf( "%2.2f \n", a[ i ] );
 } 
 printf( "\n" );

 // Dizideki elemanları azalan sıra ile sıralama
 for ( pass = 1; pass < SIZE; pass++ ) {
  for ( i = 0; i < SIZE - 1; i++ ) {
   if ( a[ i ] < a[ i + 1 ] ) {
    hold = a[ i ];
    a[ i ] = a[ i + 1 ];
    a[ i + 1 ] = hold;
   } 
  }
 }

 printf( "\nData items in descending order\n" );
 // Sıralanan dizi elemanları ekrana yazdırma
 for ( i = 0; i < SIZE; i++ ) {
  printf( "%2.2f \n", a[ i ] );
 } 
 printf( "\n" );
 getch();
 return 0;

} 

   





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

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)