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

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

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)