Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü yapısal programlama(C) ders notlarım.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int dizi[] = {4,7,3};
int boyut = 3;
printf("\n");
int i,j;
yazdir(dizi, boyut);
printf("\n");
bubblesort(dizi,boyut);
printf("\n");
yazdir(dizi,boyut);
printf("\n");
return 0;
}
void degistirfonk(int *dizi,int i,int j)
{
int temp;
temp=dizi[i];
dizi[i]=dizi[j];
dizi[j]=temp;
}
void bubblesort(int *a,int boyut)
{
int i,temp;
int degisimvar;
do
{
degisimvar=0;
for(i=0;i<boyut;i++)
{
if(a[i]>a[i+1])
{
degistirfonk(a,i,i+1);
}
}
}
while (degisimvar==1);
}
void yazdir(int a[],int boyut)
{
int i;
for(i=0;i<boyut;i++)
{
printf(" %d",a[i]);
}
}
--------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int ikiliArama(int D [],int N,int aranan) {
int ortadaki,sol=0,sag=N-1;
while(sol<=sag)
{
ortadaki=(sol+sag)/2;
if(aranan ==D[ortadaki])
return ortadaki;
else if(aranan>D[ortadaki])
sol=ortadaki+1;
else
sag=ortadaki-1;
}
return-1;
}
int main()
{
int mat[8];
int i,j;
for(i=0;i<8;i++){
printf("Lutfen %d. sayi giriniz :",i+1);
scanf("%d",mat+i);
}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
if( *(mat+j+1) < *(mat+j) ){
//degistir(mat+i,mat+j);
int x = *(mat+j+1);
*(mat+j+1) = *(mat+j);
*(mat+j) = x;
}
}
}
for(i=0;i<8;i++){
printf("%d. Sayi : %d\n",i+1,*(mat+i));
}
int rr = ikiliArama(mat,8,3);
if(rr==-1){
printf("Bulunmadi.\n");
}
else{
printf("Buliundu : %d",rr);
}
return 0;
}
Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü yapısal programlama(C) ders notlarım.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int sayi1,sayi2,sayi3,enbuyuksayi;
printf("sayi biri girin ");
scanf("%d",&sayi1);
printf("sayi ikiyi girin ");
scanf("%d",&sayi2);
printf("sayi ucu girin ");
scanf("%d",&sayi3);
if(sayi1>=sayi2){
enbuyuksayi=sayi1;
}
else
{
enbuyuksayi=sayi2;
}
if(sayi3>sayi2)
{
enbuyuksayi=sayi3;
}
printf("en buyuk sayi= %d",enbuyuksayi);
return 0;
}
Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü yapısal programlama(C) ders notlarım.
---------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int callbyref1(int *);
int callbyref2(int *);
int main()
{
int c=5,sonuc;
sonuc=callbyref1(&c);
printf("callbyref1 sonrasi c=%d , sonuc=%d\n",c,sonuc);
sonuc=callbyref2(&c);
printf("callbyref2 sonrasi c=%d , sonuc=%d",c,sonuc);
return 0;
}
int callbyref1(int *ptr)
{
return *ptr * *ptr;
}
int callbyref2(int *ptr)
{
*ptr=*ptr * *ptr;
return *ptr;
}
------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5] = {2,4,6,8,10};
int *aptr;
/** üç şekildede adresi verir **/
printf("a dizisinin adresi=%p\n",a);
printf("a dizisinin adresi=%p\n",&a);
printf("a dizisinin adresi=%p\n",&a[0]);
aptr=&a;
printf("a dizisinin adresi=%p\na dizisinin degeri=%d\n",aptr,*aptr);
aptr=aptr+2;
printf("a dizisinin 3. elemani=%d\n",*aptr);
printf("3. elemanin adresi=%p\n",aptr);
aptr=aptr+1;
printf("a dizisinin 4. elemani=%d\n",*aptr);
printf("4. elemanin adresi=%p\n",aptr);
printf("a dizisinin 4. elemani=%d\n",*aptr+1); /** sadece geçici olarak degeri 1 arttırdık 4. eleman 5 oldu **/
printf("5. elemanin adresi=%p\n",aptr);
aptr=aptr+1; /** aptr=aptr++; yapsaydık aynı şey olmazdı **/
printf("a dizisinin 5. elemani=%d\n",*aptr);
printf("5. elemanin adresi=%p\n",aptr);
aptr=aptr-1;
printf("a dizisinin 4. elemani=%d\n",*aptr);
printf("4. elemanin adresi=%p\n",aptr);
return 0;
}
------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5] = {2,4,6,8,10};
fonk(&a);
return 0;
}
void fonk(int *arr)
{
int i;
for(i=0;i<5;i++)
{
printf("dizinin %d. elemani=%d\n",(i+1),*arr);
arr=arr+1;
}
}
Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü yapısal programlama(C) ders notlarım.
--------------------------pointer------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
a=5;
int *aptr;
aptr=&a;
printf("a degiskeninin degeri=%d \n adresi=%p \n",a,&a);
printf("aptr degeri=%d \n icinde tuttugu adres=%p \n aptr'nin kendi adresi=%p",*aptr,aptr,&aptr);
return 0;
}
----------------------Call By Value---------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=10;
printf("a=%d call by value oncesi\n",a);
fonk(a);
printf("a=%d call by value sonrasi\n",a);
return 0;
}
void fonk(int x)
{
printf("fonksiyonaa girerken x=%d\n",x);
x=x+10;
printf("fonksiyondan cikarken x=%d\n",x);
}
---------------------call by value reference-------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=10,sonuc;
int *aptr;
aptr=&a;
printf("call by value oncesi a=%d \n",a);
fonk(a);
printf("call by value sonrasi a=%d \n",a);
printf("\n");
printf("call by value reference oncesi a=%d \n",a);
fonk2(&a);
printf("call by value reference sonrasi a=%d \n",a);
return 0;
}
void fonk(int x)
{
printf("fonksiyonaa girerken x=%d\n",x);
x=x+10;
printf("fonksiyondan cikarken x=%d\n",x);
}
void fonk2(int *aptr)
{
printf("fonksiyona girerken aptr=%d \n",*aptr);
*aptr=*aptr+10;
printf("fonksiyona cikarken aptr=%d \n",*aptr);
}
------------------------------Proje-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int sayi1,sayi2,sayi3,sayi4,degis1,degis2;
int *ptr1;
int *ptr2;
printf("-----4 adet sayi giriniz-----\n");
printf("1. sayiyi giriniz= ");
scanf("%d",&sayi1);
printf("\n2. sayiyi giriniz= ");
scanf("%d",&sayi2);
printf("\n3. sayiyi giriniz= ");
scanf("%d",&sayi3);
printf("\n4. sayiyi giriniz= ");
scanf("%d",&sayi4);
printf("-----Degisecek 2 sayiyi giriniz-----\n");
printf("\nDegisecek 1. sayiyi giriniz= ");
scanf("%d",°is1);
printf("\nDegisecek 2. sayiyi giriniz= ");
scanf("%d",°is2);
printf("Degismeden Once Sayilar= Sayi1=%d Sayi2=%d Sayi3=%d Sayi4=%d \n",sayi1,sayi2,sayi3,sayi4);
if(degis1==sayi1)
{
if(degis2==sayi2)
{
fonk(&sayi1,&sayi2);
}
else if(degis2==sayi3)
{
fonk(&sayi1,&sayi3);
}
else if(degis2==sayi4)
{
fonk(&sayi1,&sayi4);
}
else
{
printf("hatali deger girisi");
}
}
else if(degis1==sayi2)
{
if(degis2==sayi1)
{
fonk(&sayi2,&sayi1);
}
else if(degis2==sayi3)
{
fonk(&sayi2,&sayi3);
}
else if(degis2==sayi4)
{
fonk(&sayi2,&sayi4);
}
else
{
printf("hatali deger girisi");
}
}
else if(degis1==sayi3)
{
if(degis2==sayi1)
{
fonk(&sayi3,&sayi1);
}
else if(degis2==sayi2)
{
fonk(&sayi3,&sayi2);
}
else if(degis2==sayi4)
{
fonk(&sayi3,&sayi4);
}
else
{
printf("hatali deger girisi");
}
}
else if(degis1==sayi4)
{
if(degis2==sayi1)
{
fonk(&sayi4,&sayi1);
}
else if(degis2==sayi2)
{
fonk(&sayi4,&sayi2);
}
else if(degis2==sayi3)
{
fonk(&sayi4,&sayi3);
}
else
{
printf("hatali deger girisi");
}
}
else
{
printf("hatali deger girisi");
}
printf("Degismeden Sonra Sayilar= Sayi1=%d Sayi2=%d Sayi3=%d Sayi4=%d \n",sayi1,sayi2,sayi3,sayi4);
return 0;
}
void fonk(int *ptr1,int *ptr2)
{
int x;
x=*ptr1;
*ptr1=*ptr2;
*ptr2=x;
}
-------------------------------------1 ve 2 boyutlu diziler--------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
//C dilinde turadi degiskenadi[eleman sayisi]
int sayilar[6];
char harfler[7];
int noktalar[6] = {1,2,3,4,5,6};
//int noktalar[] = {1,2,3,4,5,6}; elemanlar girilirse eleman sayisi yazilmasada olur
int noktalarYeni[5] = {1,2}; //ilk 2 eleman tanımlanır 3,4,5 inci elemanlar rastgele olur
int x;
x = noktalarYeni[0]; //x'e noktalarYeni dizisinin 1. elemanini atadik
printf("x'in degeri=%d\n",x);
/** Cok Boyutlu Diziler **/
char ikiBoyutluDizi[3][5];
char ch;
ikiBoyutluDizi[0][1] = 'a'; //ilk satırın ikinci sutunundaki elemani atadık
int ikiBoyutluTamSayilar[2][3] = {1,2,3,4,5,6};
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",ikiBoyutluTamSayilar[i][j]);
}
printf("\n");
}
return 0;
}
------------Fonksiyonlar ve diziler-----------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
void diziYazdir(int a[],int elemanSayisi)
{
int indeks;
for(indeks=0;indeks<elemanSayisi;indeks++)
{
printf("%d ",a[indeks]);
}
}
int main()
{
//C dilinde turadi degiskenadi[eleman sayisi]
int sayilar[6];
char harfler[7];
int noktalar[6] = {1,2,3,4,5,6};
//int noktalar[] = {1,2,3,4,5,6}; elemanlar girilirse eleman sayisi yazilmasada olur
int noktalarYeni[5] = {1,2}; //ilk 2 eleman tanımlanır 3,4,5 inci elemanlar rastgele olur
int x;
x = noktalarYeni[0]; //x'e noktalarYeni dizisinin 1. elemanini atadik
printf("x'in degeri=%d\n",x);
/** Cok Boyutlu Diziler **/
char ikiBoyutluDizi[3][5];
char ch;
ikiBoyutluDizi[0][1] = 'a'; //ilk satırın ikinci sutunundaki elemani atadık
int ikiBoyutluTamSayilar[2][3] = {1,2,3,4,5,6};
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",ikiBoyutluTamSayilar[i][j]);
}
printf("\n");
}
/** Fonksiyona parametre olarak dizi gonderme **/
printf("\nFonksiyona parametre olarak dizi gonderme\n");
diziYazdir(noktalar,6);
return 0;
}
---------------------------------------------define------------------------
#include <stdio.h>
#include <stdlib.h>
#define ELEMAN_SAYISI 10 //eleman sayisini 1 kere tanimlayip hep kullanmak icin yaptik
void diziYazdir(int a[],int elemanSayisi)
{
int indeks;
for(indeks=0;indeks<elemanSayisi;indeks++)
{
printf("%d ",a[indeks]);
}
}
int diziToplam(int a[],int elemanSayisi)
{
int toplam = 0;
int indeks;
for(indeks=0;indeks<elemanSayisi;indeks++)
{
toplam += a[indeks];
}
return toplam;
}
int main()
{
//C dilinde turadi degiskenadi[eleman sayisi]
int sayilar[6];
char harfler[7];
int noktalar[6] = {1,2,3,4,5,6};
//int noktalar[] = {1,2,3,4,5,6}; elemanlar girilirse eleman sayisi yazilmasada olur
int noktalarYeni[5] = {1,2}; //ilk 2 eleman tanımlanır 3,4,5 inci elemanlar rastgele olur
int x;
x = noktalarYeni[0]; //x'e noktalarYeni dizisinin 1. elemanini atadik
printf("x'in degeri=%d\n",x);
/** Cok Boyutlu Diziler **/
char ikiBoyutluDizi[3][5];
char ch;
ikiBoyutluDizi[0][1] = 'a'; //ilk satırın ikinci sutunundaki elemani atadık
int ikiBoyutluTamSayilar[2][3] = {1,2,3,4,5,6};
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",ikiBoyutluTamSayilar[i][j]);
}
printf("\n");
}
/** Fonksiyona parametre olarak dizi gonderme **/
printf("\nFonksiyona parametre olarak dizi gonderme\n");
diziYazdir(noktalar,6);
printf("\n");
int defineDizi[ELEMAN_SAYISI] = {4,5,7,32,1};
int k;
for(k=0;k<ELEMAN_SAYISI;k++)
{
printf("%d ",defineDizi[k]);
}
printf("\n Dizi toplami : %d \n",diziToplam(defineDizi,ELEMAN_SAYISI));
return 0;
}
-------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,i,j;
printf("1\n");
printf("1 2\n");
int D1[30] = {1};
int D2[30] = {1,2};
int a;
a=1;
for(i=3;i<=30;i++)
{
if(a==1)
{
x = D2[i-2];
D1[0] = x;
printf("%d ",x);
for(j=0;j<=i-2;j++)
{
D1[j+1] = (D1[j]+D2[j]);
printf("%d ",D1[j+1]);
}
a=a+1;
}
else if(a==2)
{
x = D1[i-2];
D2[0] = x;
printf("%d ",x);
for(j=0;j<=i-2;j++)
{
D2[j+1] = (D2[j]+D1[j]);
printf("%d ",D2[j+1]);
}
a=a-1;
}
printf("\n");
}
return 0;
}