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

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)