Kategori arşivi: Programlama

Programlama hakkında türkçe bilgiler, ipuçları, kod örnekleri, örnek projeler, sorunlar ve çözümler, fikir alışverişi, düşünceler ve daha fazlası

C ile Palindrome Kontrolü Nasıl Yapılır

C ile girilen bir sayının palindrome olup olmadığını bulmak istiyor olabilirsiniz.Bunu yapmak için aşağıdaki kod örneğine bakabilirsiniz.Palindrome ise tersden okunuşuda aynı olan sayı,cümle,karakter yani aklınıza gelebilecek herşeydir.

Bunlara örnek

  • 121
  • 6336
  • 54245

gibi

    #include <stdio.h>

    int main()
    {
       int n, k = 0, c;
       printf("Sayi Girinizn");
       scanf("%d",&n);
       c = n;
       while( c != 0 )
       {
          k = k * 10;
          k = k + c%10;
          c = c/10;
       }

       if ( n == k )
          printf("Sayi %d palindromedir n", n);
       else{
       	printf("Sayi %d palindrome degildirn", n);
       }
       return 0;
    }

Çıktı Örneği

cilepalindromekontolu

C ile Matris Toplama İşlemi

C ile tanımlamış olduğunuz 2 matrisi toplayabilirsiniz bunun için arraylar kullanıyoruz.Biraz karışık olsada toplama işlemi sorunsuz bir şekilde gerçekleştirebiliyoruz.Örnek kodumuzu aşağıda bulabilirsiniz

    #include<stdio.h>

    main(){
          int matris1[4][3] = {{6,7,8},{1,3,2},{5,2,8},{1,3,6}};
          int matris2[4][3] = {{6,8,1},{9,11,3},{3,10,18},{14,2,8}};  
          int toplam[4][3];

          int i,j;

          for(i=0;i<4;i++)
          {
             for(j=0;j<3;j++)
             {
                toplam[i][j] = matris1[i][j] + matris2[i][j];          
             }
          }
          for(i=0;i<4;i++)
          {
             for(j=0;j<3;j++)
             {
                printf("%d ",toplam[i][j]);        
             }
             printf("nn");      
          }
          return 0;
    }

Örnek Çıktı

cilematristoplamaislemi

C Dilinde Karşılaşılan Hatalar ve Çözümleri

C dilinde yazılan uygulamalarda genelde 3 tip hatalar bulunur.Tamamı kullanıcı kaynaklı olmakla beraber ufak bir göz gezdirme ile çözülebilecek hatalardır.Bunlar sırasıyla;

  1. Mantık hataları
  2. Çalışma zamanı hataları
  3. Derleme hataları

Mantık hataları

Mantık hataları genelde uygulamayı geliştiren yazılımcılardan kaynaklanmaktadır.Uygulama çalışıyordur ancak istenilen sonucu ya vermiyordur yada tutarsızdır.Hata ne yazımdan kaynaklanmaktadır nede kullanımdan bu gibi hataları bulmak zordur genellikle test sırasında bu gibi hatalar bulunup çözülebilir.

Çalışma zamanı hataları

Derleme sırasında hata olarak algılanmayan ancak kullanıcının yapacağı işlemler doğrultusunda oluşan hatalardır.Sayı girilmesi gereken yere karakter girilmesinden dolayı kullanıcıya hata gösterilmemesi ve uygulamanın sorunla karşılaşması yada internet gerektiren bir uygulamanın internetsiz bir ortamda çalıştırılmaya çalışması gibi sorunlardır.Çalışabilir ancak kullanılmaması gereken bir olgu kullanılmış isede bu tip sorunlar oluşabilir.

Derleme Hataları

Program çalışmadan önce derlenir.Bu derleme sırasında oluşan bir yazım hatası yada eksik kodlar bu tip sorunlara yol açabilir.Kodda bu gibi sorunlar varsa zaten çalışmayacaktır ve hatanın bulunduğu satır size görsel olarak "Error List" kısmında gözükecektir.Hatanın ne olduğunu ve kaçıncı satırda olduğunu bu şekilde görebilirsiniz.

C ile Basit Faiz Hesaplama İşlemi

C ile Basit Faiz Hesaplama işlemini aşağıdaki gibi yapabilirsiniz.Bu örnek kodumuzda çıkan sonuçları for döngüsü ile yıllık olarak ekranda gösterdik bunu formatlı bir şekilde yaptık ve son olarakda toplam yıl bazınca alacağı ücreti ekranda gösterdik.

    #include<stdio.h>

    int main(void){
    	double faiz,anapara,oran;
    	int yil,y;
    	printf("Anapara faiz ve yili girinizn");
    	scanf("%lf%lf%d",&anapara,&oran,&y);
    	printf("%4s%22sn","yil","biriken para");
    	for(yil=1;yil<=y;yil++){
    		faiz= anapara*(1+oran*yil);
    		printf("%4d%21.2fn",yil,faiz);
    	}
    	printf("%d yillik toplam Faiz %.lf TLn",y,faiz);
    	return 0;
    }

C ile Sayının Asal Olup Olmadığını Bulma

C programlama dilinde girilen sayının asal olup olmadığını modulus işlemi ile kolaylıkla bulabiliriz.Asal bulma işlemi için yazmış olduğum kodu aşağıda bulabilirsiniz.

    #include<stdio.h>

    int main(void){
    	int x, b, a,asalbulan;
    	printf("Herhangi bir sayi giriniz n");
    	scanf("%d",&x);
    	for(asalbulan=2; asalbulan <= x- 1; asalbulan++){
    		b = x % asalbulan;
    		if(b==0){
    			a++;
    		}
    	}
    	if(a==0){
    		printf("Girdiginiz Sayi Asaldir");
    	}else{
    		printf("Girdiginiz Sayi Asal Degildir");
    	}
    	return 0
    }

Çıktı Örneği

cilesayininasalligininkontrolu

C ile Sayının Tam Bölenlerini Bulma

C ile programa girilen herhangi bir sayının içindeki tam bölenleri bulmak isterseniz aşağıdaki kodu kullanabilirsiniz.istersenizde sayının kaça tam bölündüğünü ufak bir değişiklik ile anlaya bilirsiniz.

    #include<stdio.h>

    int main(void){
    	int sayi1,bol,bolum;
    	printf("Herhangi bir sayi giriniz n");
    	scanf("%d",&sayi1);
    	for(bol = 1; bol<=sayi1;bol++){
    		bolum=sayi1 % bol;
    		if(bolum==0){
    			printf("Sayi %d n",bol);
    		}
    	}
    	return 0;
    }

Örnek Çıktımız

ciletambolunebilmeciktisi

C ile Sayıların Toplanması ve Ortalamaları

C ile Programa girilen sayıların toplanması ve bu girilen sayıların ortalamalarının alınması basit bir şekilde aşağıdaki örnekde gösterilmiştir.Programda ilk olarak kullanıcıdan kaç adet sayı toplayacağı bilgisini alıyoruz.Ardından toplama ve ortalama işlemlerini yapıyoruz.

#include < stdio.h >
    int main() {
        int sayi;
        int topla[sayi];
        int toplam = 0;
        float ortalama;
        int g;
        printf("Kac Sayi Toplanacakn");
        scanf("%d", & sayi);
        for (g = 0; g < sayi; g++) {
            printf("n%d.sayi : ", g + 1);
            scanf("%d", & topla[g]);
        }
        for (g = 0; g < sayi; g++) {
            toplam = toplam + topla[g];
        }
        ortalama = toplam / sayi;
        printf("Toplami %d n", toplam);
        printf("Ortalamasi %f n", ortalama);
        return 0;
    }

C ile Kâr Payı Hesaplama

C ile kar payı hesaplamak için aşağıdaki örneğe göre işlemleri yapıyoruz.Bir satış personeli bir kimya firmasında çalışmaktadır ve aylık ücret olarak 200 TL almaktadır ancak yapmış olduğu belirli bir düzeydeki satıştan kar payı olarak %9 almaktadır.

Satıcının alacağı ücreti hesaplayan bir c uygulaması yazınız(Aylık sattığı malzemenin toplam ücreti 4500 TL olduğunu var sayar isek)

#include < stdio.h >
    int main(void) {
        double sabitucret, karpayi, miktar, ucret;
        ucret = 200;
        printf("Satis miktarinizi girinizn");
        scanf("%lf", & miktar);
        karpayi = (miktar * 0.09) + ucret;
        printf("Bu haftaki Karpayiniz ile birlikte toplam ucretiniz %.lf TLn", karpayi);
        return 0;
    }

C ile Fibonacci Sayılarının Bulunması

C ile fibonacci sayılarını bulmak için diğer dillerde olduğu gibi standart bir tazım şekli bulunmuyor istediğiniz gibi yazabilirsiniz ancak ben aşağıdaki kodu yazmıştım istediğiniz gibi kullanabilirsiniz.

#include < stdio.h >
    int main() {
        int n, ilk = 0, ikinci = 1, s, c;
        printf("Bir Sayi Girinizn");
        scanf("%d", & n);
        printf("ilk %d fibonacci serisin", n);
        for (c = 0; c < n; c++) {
            if (c <= 1)
                s = c;
            else {
                s = ilk + ikinci;
                ilk = ikinci;
                ikinci = s;
            }
            printf("%dn", s);
        }
        return 0;
    }

C ile En Buyuk Sayıyı Bulma İşlemi

C ile uygulamaya girilen 3 adet sayıdan en büyük sayıyı bulmak için aşağıdaki vermiş olduğum kod parçacığını kullanabilirsiniz.Bu örneği değişken sayısını arttırarak daha fazla sayı için kullanabilirsiniz veya array ile dahada fazla sayı için kullanılabilir

#include < stdio.h >
    int main(void) {
        int sayi1, sayi2, sayi3, max;
        printf("3 Adet Sayi Giriniz");
        scanf("%d%d%d", & sayi1, & sayi2, & sayi3);
        max = sayi1;
        if (sayi2 > max) {
            max = sayi2;
        }
        if (sayi3 > max) {
            max = sayi3;
        }
        printf("(%d %d %d) Bu Sayilarin En Buyugu = %d", sayi1, sayi2, sayi3, max);
        return 0;
    }

C ile EKOK Bulma İşlemi

C ile klavyeden girilen 2 sayının kolaylıkla en küçük ortak katını yani Ekok’unu kolaylıkla aşağıdaki kod aracılığı ile bulabilirsiniz.En kolay yöntem diye düşündüğüm için uygulamayı oluştururken while döngüsü kullanmayı seçtim.

#include < stdio.h >
    int main(void) {
        int sayi1;
        int sayi2;
        int ekok;
        int c = 1;
        printf("1.sayin");
        scanf("%d", & sayi1);
        printf("2.sayin");
        scanf("%d", & sayi2);
        while (1) {
            c++;
            if ((c % sayi1 == 0) && (c % sayi2 == 0)) {
                ekok = c;
                break;
            }
        }
        printf("EKOK %dn", ekok);
        return 0;
    }

C ile Alan Hesaplamaları

Alan hesaplamalarını yapacağımız geometrik şekilleri aşağıdaki gibi belirledik ortaya çıkan kodumuz ise aşağıdaki gibidir. Yapmış olduğum programda seçmeli bir yapı izledim. Gereken komut verilmediği takdirde döngü devam etmektedir.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main(void) {
  int secim = 0;
  double taban, yukseklik, pi, yaricap, tavan, alan, kenar1, kenar2;
  pi = 3.14;
  while (secim != 5) {
    printf("1-Ucgenn2-Dairen3-Dikdortgenn4-Yamukn5-Cikisn");
    scanf("%d", & secim);
    if (secim == 1) {
      printf("Tabani giriniz n");
      scanf("%lf", & taban);
      printf("Yukseklik giriniz n");
      scanf("%lf", & yukseklik);
      alan = taban * yukseklik / 2;
    } else if (secim == 2) {
      printf("Yaricap giriniz n");
      scanf("%lf", & yaricap);
      alan = pi * yaricap * yaricap;
    } else if (secim == 3) {
      printf("Birinci kenari giriniz n");
      scanf("%lf", & kenar1);
      printf("ikinci kenari giriniz n");
      scanf("%lf", & kenar2);
      alan = kenar1 * kenar2;
    } else if (secim == 4) {
      printf("Tabani giriniz n");
      scanf("%lf", & taban);
      printf("Tavani giriniz n");
      scanf("%lf", & tavan);
      printf("Yukseklik giriniz n");
      scanf("%lf", & yukseklik);
      alan = (taban + tavan) * yukseklik / 2;
    }
    if (secim != 5) printf("Yapmis oldugunuz secimde alan %f olarak bulunmustur. n", alan);
  }
  return 0;
}

Uygulamayı çalıştırmak için ise Windows sistemler için Orwell Dev-C++ Kullanabilirsiniz.

Örnek 2 Seçimin string olması

#include <stdio.h>
#include <conio.h>

main(void) {
  char secim;
  int kenar1, kenar2, yaricap, yukseklik, daire, dikdortgen, kare, ucgen;
  printf("---------MONU--------------n");
  printf("D veya d Dairen");
  printf("T veya t Dikdortgenn");
  printf("K veya k Karen");
  printf("U veya u Ucgenn");
  printf("---------------------------n");
  printf("Seciminiz= ");
  scanf("%s", & secim);
  printf("---------------------------n");
  if (secim == 'D' || secim == 'd') {
    printf("yaricap: n");
    scanf("%d", & yaricap);
    daire = 3.14 * yaricap * yaricap;
    printf("Yaricapi %d olan dairenin alani: %dn", daire);
  } else if (secim == 'T' || secim == 't') {
    printf("kenar1 ve kenar2 giriniz: n");
    scanf("%d%d", & kenar1, & kenar2);
    dikdortgen = kenar1 * kenar2;
    printf("Dikdortgenin alani: %dn", dikdortgen);
  } else if (secim == 'K' || secim == 'k') {
    printf("kenar1: n");
    scanf("%d", & kenar1);
    kare = kenar1 * kenar1;
    printf("Kenari %d olan karenin alani: %dn", kare);
  } else if (secim == 'U' || secim == 'u') {
    printf("kenar: n");
    scanf("%d", & kenar1);
    printf("yukseklik: n");
    scanf("%d", & yukseklik);
    ucgen = (yukseklik * kenar1) / 2;
    printf("Ucgenin alani: %dn", ucgen);
  } else {

  }
  getch();
  return 0;
}