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

6 Ocak 2018 Cumartesi

Palindrom kelime kontrolü



#include  
/* 
Dışarıdan girilen bir kelimenin palindrom olup olmadığını bulan program aba, babab vs.. 
Strlen komutu fonksiyon ile yazılmıştır. 
*/ 
int strlenn(char *); 

int main(void) { 

 int i,j=0; 
 char kelime[10],harf[10]; 

 printf("Kelime: "); 

 gets(kelime); 

 int uzunluk=strlenn(kelime); 


 for(i=uzunluk-1;i > =0;i--) 
 { 
  harf[ j ]=kelime[ i ]; 
  j++; 
 } 

 int a=0; 


 for(i=0;i < uzunluk;i++) 
 { 
  if(harf[ a ]==kelime[ i ]) 
  { 
   a++; 
  } 
 } 


 if(a==uzunluk) 
  printf("Polidrom kelimedir."); 
 else 
  printf("Polidrom kelime degildir."); 


 return 0; 
} 


int strlenn(char *x) 
{ 
 int a=0; 

 while(x[a]!='\0') 
  a++; 

 return a; 
} 



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

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

 } 
}
 

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

}
  

15 Kasım 2014 Cumartesi

C Konsolda Dizide en çok tekrarlayan elemanı bulma

KONU : C Konsol Uygulamalar - dizide en çok tekralayan elemanı bulma
ETİKETLER: diziler - dizi - en çok tekrarlayan


#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,Tekrar,buyuk;
 int diziElemanSayisi = 16;
 int enFazlaOlan = -1;
 int enFazlaOlanSayi = -1;
 int diziElemanSayilari[16];
 
 for(i=0;i< diziElemanSayisi;i++)
 {
  k=0;

  for(j=0;j< diziElemanSayisi;j++)
  {
   if(Array[i]==Array[j])
   {
    k++;
   } 
  }

  diziElemanSayilari[i] = k;

 }

 for(i=0;i< diziElemanSayisi;i++)
 {
   if (diziElemanSayilari[i] > enFazlaOlan)
   {
    enFazlaOlan = diziElemanSayilari[i];
    enFazlaOlanSayi = Array[i];
   }
 }

 printf("En fazla olan sayi : %d  \nAdet sayisi: %d ",enFazlaOlanSayi,k);
 printf( "\n" );
 printf( "\n" );
 //getch();
 char a;
 scanf("%s",&a);
 return 0;

}

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


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)