stdlib.h etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
stdlib.h etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1 Ocak 2015 Perşembe

C Konsol Matriks Toplama ve Çıkarma İşlemlerini Pointer ve Fonksiyon Kullanarak Yapma

KONU : C Konsol Uygulamalar - 2 matriksin kolon ve satırlarını konsol ekranında girerek bir dizide bu değerleri saklama. Saklanan değerleri kullanarak iki matriksi toplama ve çıkarma işlemlerini yapma. Pointer ve Fonksiyon kullanarak işlemleri gerçekleştirme. Referans tip kullanarak değişkenin değişen değerlerini kullanma.
ETİKETLER: konsol - matriks - pointer - array - dizi - char


#include < stdio.h >
#include < stdlib.h >
#define SIZE 2

int i,j;
int m,n;
 
char x;
 
void getMatrixSize(int *matrix,int *matrix2, int &row, int &column);
void showMatrix(int *matrix1,int row,int column);
void sum(int *matrix,int *matrix2,int*sum,int row,int column);
void subtract(int *matrix1,int *matrix2,int *result,int row, int column);

int main(void) {
  int chose;
  int Arr[10][10];
  int Arr2[10][10];
  int result[10][10];
 while(x!='e')
 {
 
  printf("\n\t 1 - Toplama\n");
  printf("\t 2 - Cikarma\n");
  printf("\t 3 - Carpma\n");
  printf("\t 4 - Determinant\n");
  printf("\t 5 - Transpoze\n");
  printf("\t 6 - Cikis\n");
  printf("\n Isteginiz: ");
  scanf("%d",&chose);
 
  int row = 0;
     int column = 0;

  switch(chose)
  {
   case 1:
   {

    getMatrixSize((int *)Arr,(int *)Arr2,row,column);
    sum((int *)Arr,(int *)Arr2, (int * )result,row,column);   
    printf("\n\n\n******************\n Sonuc:   \n\n");
    showMatrix((int * )result,row,column);
    break;
   }

   case 2:
 
    getMatrixSize((int *)Arr,(int *)Arr2,row,column);
    subtract((int *)Arr,(int *)Arr2, (int * )result,row,column);   
    printf("\n\n\n******************\n Sonuc:   \n\n");
    showMatrix((int * )result,row,column);
    break;
   case 3:
    // daha sonra yapılacak
    break;
   case 4:
    // daha sonra yapılacak
    break;
   case 5:
    // daha sonra yapılacak
    break;
   case 6:
    x ='e';
    break;
  }
 }
 return 0;
}
void getMatrixSize(int *matrix,int *matrix2, int &row, int &column)
{

 int k=0;
 while(k!=2)
 {
  printf("\n %d. Matris:\n ",k+1);
  printf("Satir sayisi: ");
  scanf("%d",&row);
  printf("Sutun sayisi: ");
  scanf("%d",&column);
 
   for(i=0;i < row;++i)
   {
    for(j=0;j < column;++j)
    {
     printf("%d.satir %d. sutun: ",i+1,j+1);
     if(k==0)
      scanf("%d",matrix++);
     else if(k==1)
      scanf("%d",matrix2++);
     
    }
   }
   printf("\n");
   if(k==0)
   {
    matrix=matrix-(row*column);
    //showMatrix(matrix,row,column);
   }
   else if(k==1)
   {
    matrix2=matrix2-(row*column);
   // showMatrix(matrix2,row,column);
   }
   k++;
 
 }
}
 
void showMatrix(int *matrix1,int row,int column)
{
 for(i=0;i < row;++i)
 {
  for(j=0;j < column;++j)
  {
   printf("%5d",*(matrix1));
   matrix1++;
  }
  printf("\n");
 }
}
 
void sum(int *matrix1,int *matrix2,int *result,int row, int column)
{

 showMatrix(matrix1,row,column);

 showMatrix(matrix2,row,column);

 for(i=0;i < row;i++)
 {
  for(j=0;j < column;j++)
  {
   *result = *matrix1 + *matrix2;
   printf("%5d",*result);
   matrix1++;
   matrix2++;
   result++;
  }
   printf("\n");
 }

 matrix1 = matrix1 - (row*column);
 matrix2 = matrix2 - (row*column);
    result = result - (row*column);
}

void subtract(int *matrix1,int *matrix2,int *result,int row, int column)
{

 showMatrix(matrix1,row,column);

 showMatrix(matrix2,row,column);

 for(i=0;i < row;i++)
 {
  for(j=0;j < column;j++)
  {
   *result = *matrix1 - *matrix2;
   printf("%5d",*result);
   matrix1++;
   matrix2++;
   result++;
  }
   printf("\n");
 }

 matrix1 = matrix1 - (row*column);
 matrix2 = matrix2 - (row*column);
    result = result - (row*column);
}

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


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


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




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;

}    
   





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)