Dersler

View on GitHub

EEM-120 Algoritma ve Programlama II Dersi

2022-2023 Bahar Dönemi Konu 1

İşaretçi aritmetiği

#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10};
  printf("a[0]:%u\n", a[0]);
  printf("a: %u\n",a);
  printf("*a: %u\n",*a);
  printf("a+1: %u\n",a+1);
  printf("a+3: %u\n",a+3);
  printf("a+30: %u\n",a+30);  
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10};
  int *p;
  p = &a[0];
  printf("p: %u\n",p);
  printf("*p: %u\n",*p);

  printf("(p+2): %u\n",(p+2));
  printf("*(p+2): %u\n",*(p+2));
  
  printf("*p: %u\n",*p);
  printf("*p+2: %u\n",*p+2);  
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10,12,14,16};
  int *p;
  p = a;
  printf("p: %u\n",p);
  printf("*p: %u\n",*p);

  p++;
  printf("(p+2): %u\n",p);
  printf("*(p+2): %u\n",*(p+2));

  p=p+3;
  printf("*p: %u\n",*p);
  printf("*p+3: %u\n",*p+3);

  p--;
  printf("*p: %u\n",*p);
  printf("*p+5: %u\n",*p+5);
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10,12,14,16};
  int *p;
  p = &a[5];
  printf("p: %u\n",p);
  printf("*p: %u\n",*p);
  p=p-2;
  printf("p: %u\n",p);
  printf("*(p+1): %u\n",*(p+1));
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10,12,14,16,18,20,22};
  int *p, *q;
  p=&a[2];
  printf("p:%u\n",p);
  printf("*p:%u\n",*p);
  
  q=p+3;
  printf("q:%u\n",q);
  printf("*q:%u\n",*q);
  
  p=p+6;
  printf("p:%u\n",p);
  printf("*p:%u\n",*p);
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10,12,14};
  int *p, *q;
  p=a;
  q=&a[2];
  printf("p==q:%d\n",p==q);
  printf("p>q:%d\n",p>q);
  printf("p<=q:%d\n",p<=q);
  return 0;
}
#include <stdio.h>
int main() {
  int a[]={2,4,6,8,10,12,14,20};
  int toplam=0, i, boyut;
  int *p;
  boyut=sizeof(a)/sizeof(a[0]);
  for(i=0;i<boyut;i++)
  toplam += a[i];
  printf("toplam1: %d\n",toplam);

  toplam = 0;
  for(p=&a[0];p<&a[boyut];p++)
    toplam += *p;
  printf("toplam2: %d\n",toplam);
  return 0;
}
#include <stdio.h>

int main() {
  int a[]={2,4,6,8,10,12,14,20};
  int toplam=0, i, boyut;
  int *p;
  boyut=sizeof(a)/sizeof(a[0]);
  for(i=0;i<boyut;i++)
    toplam += a[i];
  printf("toplam1: %d\n",toplam);

  toplam = 0;
  for(p=a;p<a+boyut;p++)
    toplam += *p;
  printf("toplam2: %d\n",toplam);
  return 0;
}
#include <stdio.h>
#define N 10
int main() {
  int a[10]={2,4,6,8,10,12,14,20};
  int i=2;
  a[i++]=100;
  for(i=0;i<N;i++)
    printf("%d ",a[i]);
  printf("\n");
  i=5;
  a[++i]=200;
  for(i=0;i<N;i++)
    printf("%d ",a[i]);
  return 0;
}
#include <stdio.h>
#define N 10
int main() {
  int a[10]={2,4,6,8,10,12,14,20};
  int *p;

  p=&a[3];
  printf("*p: %d\n",*p);

  printf("*p++: %d\n",*p++);
  printf("*p: %d\n",*p);

  printf("(*p)++: %d\n",(*p)++);
  printf("*p: %d\n",*p);

  printf("*++p: %d\n",*++p);
  printf("*p: %d\n",*p);

  printf("++*p: %d\n",++*p);
  printf("*p: %d\n",*p);

  for(p=a;p<a+N;p++)
    printf("%d ",*p);

  printf("\n");
  p=a;
  while(p< a+N)
    printf("%d ",*p++);
  return 0;
}
#include <stdio.h>
#define N 10
int main() {
  int a[10]={2,4,6,8,10,12,14,20};
  int i, *p;
  for(i=0;i<N;i++)
    printf("%d ",a[i]);

  printf("\n");
  for(i=N-1;i>=0;i--)
    printf("%d ",a[i]);

  printf("\n");
  for(p=a;p<a+N;p++)
    printf("%d ",*p);

  printf("\n");
  for(p=a+N-1;p>=a;p--)
    printf("%d ",*p);
  return 0; 
}
#include <stdio.h>
int eb(int a[], int boyut){
  int maks,i;
  maks=a[0];
  for(i=1;i<boyut;i++)
    if(a[i]>maks)
      maks=a[i];
  return maks;
}
int main() {
  int a[]={2,4,6,8,10,500,14,20,100,200,20};
  int n;
  n=sizeof(a)/sizeof(int);
  printf("en buyuk eleman: %d", eb(a, n));
  return 0;
}
#include <stdio.h>

int eb(int x[], int boyut){
  int maks,*p;
  maks=*x;
  for(p=x+1;p<x+boyut;p++)
    if(*p>maks)
      maks=*p;
  return maks;
}
int main() {
  int a[]={2,4,6,8,10,500,14,20,100,200,20};
  int n;
  n=sizeof(a)/sizeof(int);
  printf("en buyuk eleman: %d", eb(a, n));
  return 0;  
}
#include <stdio.h>
int eb(int *x, int boyut){
  int maks,*p;
  maks=*x;
  for(p=x+1;p<x+boyut;p++)
    if(*p>maks)
      maks=*p;
  return maks;
}
int main() {
  int a[]={2,4,6,8,10,500,14,20,100,200,20};
  int n;
  n=sizeof(a)/sizeof(int);
  printf("en buyuk eleman: %d", eb(a, n));
  return 0;  
}
#include <stdio.h>
void temizle(int *x, int n){
  int *p;
  for(p=x;p<x+n;p++)
    *p=0;
}
int main() {
  int a[]={2,4,6,8,10,500,14,20,100,200,20};
  int n, *isaretci;
  n=sizeof(a)/sizeof(int);

  for(isaretci=a; isaretci<a+n;isaretci++)
    printf("%d ", *isaretci);
  printf("\n");
  temizle(a, n);
  for(isaretci=a; isaretci<a+n;isaretci++)
    printf("%d ", *isaretci);
  return 0;  
}
#include <stdio.h>
#define N 10
int main() {
  int a[N]={2,4,6,8,10,500};
  int toplam=0, *p, i;
  p=a;
  for(i=0;i<N;i++)
    toplam += p[i];
  printf("toplam1: %d\n",toplam);

  toplam=0;
  for(i=0;i<N;i++)
    toplam += *(p+i);
  printf("toplam2: %d\n",toplam);
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j;
  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%3d ",a[i][j]);
    printf("\n");
  }
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j;
  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%d ",a[i][j]);
    printf("\n");
  }
  printf("\n");
  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%d ",&a[i][j]);
    printf("\n");
  }
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j, *p;
  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%d ",a[i][j]);
    printf("\n");
  }
  printf("\n");
  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%u ",&a[i][j]);
    printf("\n");
  }
  printf("\n");
  for(p=&a[0][0];p<&a[0][0]+6;p++)
    printf("%d ",*p);
  printf("\n");
  for(p=&a[0][0];p<=&a[1][2];p++)
    printf("%d ",*p);
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j;
  printf("a: %u\n",a);
  printf("a: %u",a+1); 
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j;
  for(i=0;i<2;i++)
    for(j=0;j<3;j++)
      a[i][j]=0;

  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%d ", a[i][j]);
    printf("\n");
  }
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]={{2,  4,  6},
         {8, 10, 12}};
  int i, j;
  int *p;
  for(p=&a[0][0];p<=&a[1][2];p++)
      *p=0;

  for(i=0;i<2;i++){
    for(j=0;j<3;j++)
      printf("%d ", a[i][j]);
    printf("\n");
  }  
  return 0;  
}
#include <stdio.h>
int eb(int x[][3], int n){
  int i, j;
  int maks;
  maks=x[0][0];
  for(i=0;i<n;i++){
    for(j=0;j<3;j++)
      if(x[i][j]>maks)
        maks=x[i][j];
  }
  return maks;
}
int main() {
  int a[2][3]={{2,  4,  30},
         {8, 10, 25}};
  int en_buyuk;
  en_buyuk=eb(a, 2);
  printf("en buyuk: %d",en_buyuk);  
  return 0;  
}
#include <stdio.h>
int eb(int *a, int n){
  int maks, *p;
  maks=*a;
  for(p=a+1; p<a+n;p++){
    if(*p>maks)
      maks=*p;
  }
  return maks;
}
int main() {
  int a[2][3]={{2,  4,  30},
         {8, 40, 25}};
  int en_buyuk;
  en_buyuk=eb(&a[0][0], 6);
  printf("en buyuk: %d",en_buyuk);
  return 0;  
}
#include <stdio.h>
int main() {
int a[2][3]={{2,  4,  30},
         {8, 40, 25}};
  int *p;
  printf("a: %u\n",a);
  printf("a[0]: %u\n",a[0]);
  printf("a[1]: %u\n",a[1]);
  printf("a[0]+1: %u\n",a[0]+1);
  printf("a: %u\n",a+1);  
  return 0;  
}
#include <stdio.h>
int main() {
  int a[2][3]= {{2,  4,  16},
             {8, 20, 12}};
  int (*p)[3];
  int *q;

  printf("a: %u\n", a);
  printf("a+1: %u\n", a+1);

  printf("*a: %u\n", *a);
  printf("*(a+1): %u\n", *(a+1));

  printf("**a: %u\n", **a);
  printf("**(a+1): %u\n", **(a+1));

  printf("(*a)[1]: %u\n", (*a)[1]);
  printf("(*(a+1))[2]: %u\n", (*(a+1))[2]);

  p=a;

  printf("p: %u\n", p);
  printf("p+1: %u\n", p+1);

  for(p=a;p<a+2;p++)
    for(q=*p; q<*p+3;q++)
      printf("%d ",*q);
  return 0;
}
a: 3643437072
a+1: 3643437084
*a: 3643437072
*(a+1): 3643437084
**a: 2
**(a+1): 8
(*a)[1]: 4
(*(a+1))[2]: 12
p: 3643437072
p+1: 3643437084
2 4 16 8 20 12