Archive for programlama

Bu gün farkettim, uzun zamandır sitede kod yayınlanmamış. Bu yüzden C dilinde bir program yazmaya karar verdim. Programı özetlemek gerekirse, bir pozitif tamsayının asal çarpanlarını bulan programı yazacağım. Program, asal çarpanlarını bulacağı sayıyı kullanıcıdan alacak.

Asal çarpanları anlatmama gerek yoktur galiba. Bu yüzden hemen programın anlatımına geçiyorum. Örneğin 120 sayısının asal çarpanları 2 x 2 x 2 x 3 x 5 ‘ dir.Bu programda 2 fonksiyon kullanacağız. Fonksiyonlardan biri sayının asal olup olmadığını kontrol etmelidir. Dolayısıyla, bu fonksiyon bir pozitif sayıyı parametre olarak almalı ve asal ise 1; değilse 0 değerini döndürmelidir. Diğer fonksiyon ise, bir sayının bir başka sayıya bölünüp bölünmediğini belirlemelidir. Dolayısıyla bu fonksiyon iki sayıyı parametre olarak almalı ve ikinci sayı birincisini bölüyorsa 1; bölmüyorsa 0 değerini döndürmelidir.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdio.h"
int asal(int);
int bol(int,int);
/*Sayinin asal carpanlarini bulur*/
int main(void)
{
    int sayi,i;
    printf("Bir pozitif sayi giriniz: ");
    scanf("%d",&sayi);
    printf("%d sayisinin asal carpanlari: ",sayi);
    for(i=2;sayi>0;i++)
    {
        if(asal(i)&&bol(sayi,i))
        {
            printf("%3d",i);
            sayi=sayi/i;
            i--;
        }
    }
    return(0);
}
/* s’nin asal olup olmadigini kontrol eder*/
int asal(int s)
{
    int i;
    for (i=s-1;i>1;i--)
    {
        if(s%i==0)
        return(0);
    }
    return(1);
}
/*x’in y’ye bolunurlugunu kontrol eder*/
int bol(int x, int y)
{
    if(x%y==0)
        return(1);
    else
        return(0);
}

Bu gün pointer’ ın struct ile kullanımından bahsedeceğim ve bir de örnekle açıklamaya çalışacağım.  Daha önce de bahsettiğim gibi pointer, değişkenlerin adres bilgilerini tutan işaretçlerdir. Bir pointerın içeriğine ulaşmak için “*” işareti kullanılır. Pointerlar adres bilgisi üzerinden işlem yaptıkları için referans tipinde değişkenlerdir. Pointerları da kısaca hatırlattıktan sonra struct ile pointer kullanımını daha iyi anlamak için örnek programa bakalım.

 

#include
struct ogrenci
{
char ad[20];
int vize;
int final;
};
void main()
{
struct ogrenci ogr1,*ogr2;
//scanf(“%s”,ogr1.ad);
ogr1.vize=90;
ogr1.final=80;
printf(“%d %dn”,ogr1.vize,ogr1.final);
ogr2=&ogr1;
ogr2->vize=35;//-> işareti pointer ın içeriğini ifade eder
ogr2->final=40;
printf(“%d %dn”,ogr1.vize,ogr1.final);
}

 

Yine struct içinde öğrenciye ait ad, vize ve final notlarını tanımladım. Main fonksiyonu içinde “struct ogrenci” yapısından ogr1 ve pointer türündeki *ogr2 değişkenlerini türettim. ogr1 değişkenine bilgileri atadıktan sonra read more »

İyi akşamlar serefakyuz.com takipçileri. İlk yazımı, bu soğuk sonbahar akşamında içimi ısıtan sıcak çayımı yudumlarken, Karadeniz çay ve simit evi’ nde yazıyorum. Bunu bir reklam olarak algılamayın lütfen :D

Sitemin kuruluş amacı bilgisayar ve internet dünyasındaki en yeni haberleri ve gelişmeleri siz değerli takipçilerime aktarmak. Bilgisayar ve internet alanındaki read more »