Switch Case etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Switch Case 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);
}

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;

}    
   





16 Aralık 2013 Pazartesi

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





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)