Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Ç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",&degis1);
    printf("\nDegisecek 2. sayiyi giriniz= ");
    scanf("%d",&degis2);
    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;
}



Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü yapısal programlama(C) ders notlarım.

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

}