C++ Diziler

8 Ocak 2011 by B.Selçuk ÖKSÜZ
Leave a reply »
WP Greet Box icon
Merhaba! Selcukoksuz.com adresine hoş geldiniz. Eğer yeni iseniz ve içeriğimizi takip etmek isterseniz RSS Abonesi Olabilirsiniz.
Mailinize onay mesajı gönderilecektir. Cevaplamayı unutmayınız.

Bu dersimiz de C++ dilin de çoklu verileri sınıflarken kullandığımız konusunu işleyeceğiz. bir küme halinde ki aynı veriye kolay bir şekilde hükmetmemize olanak sağlamaktadır. Bu sayede bir çok veriyi eş zamanlı olarak kullanabilir arasından seçme yapabilir yada görüntüleyebiliriz.

Konu ile alakalı slayt ve örnek kodlamalar aşağıda verilmiştir.

Dizi bir veri kümesidir. Bu sebeple dizi içinde ki tüm veriler bir biri ile aynı tipte olmak zorundadır.

Dizi elemanları bellekte peş peşe saklanırlar. Bu sebeple program çalışmadan önce dizinin büyüklüğü bildirilmelidir. Program sonlandırıldığından dizi elemanları da bellekten silinirler.

1)Dizi Bildirimi

Diziler birden çok eleman ifade ettiği için, istediğimiz elemanı belirlemek için indis tanımı yapılır. Ve dizilerde indis değeri sıfırdan başlar.
Dizi tanımı ; tip dizi_adi [dizi_boyutu]; şeklinde yapılır.

Float kutle [3];
kutle[0] = 3,432;
kutle[1] = 4,654;
kutle[2] = 12,543;

Dizi boyutunu üç belirlemiş olmamıza rağmen son indis ikide bitmiştir.

Dinamik dizi boyutu belirlemek
Örnek 1;

int n=100
int a[n];

! Bu kullanım yanlıştır. Çünkü program çalışmadan önce dizi boyutu belirlenmeli ve ona göre bellekte yer ayrılmalıdır.

Örnek 2;

#DEFINE n 100
int a[n];

2)Dizi Başlangıç Değerleri

Başlangıç değeri dizi oluşturulduktan sonra ki ilk değer atamasıdır. Kullanımı aşağıda ki gibidir;

float kutle[3]={1.23,3.22,12.22};
int kilo[2]={78,84};

int kutle[]={1.23,3.22,12.22};
int kilo[]={78,84};

Bu durumda program dizi içerisinde ki değer kaçsa dizi boyutunu o değer ile sınırlar. Yani kutle dizisi 3, kilo dizisi 2 elemanlıdır.

3)Dizi Yazdırma/Okuma

Diziler genel olarak birden fazla veri içerdiği için dizi içeriğini yazdırmak için genelde döngülerden faydalanılır.

Bu döngüler genelde for döngüsüdür. Ama programınızın yapısı ve algoritmasına göre while döngüsünden de faydalanılabilir.

Örnek Program;

#include <stdio.h>
#include <iostream>
#define n 10
int main(void)
{
    int i,x[n],toplam=0;
    float ort;
    printf("10 sayinin ortalamasi bulunacaktir.\n");
    for(i=0;i<n;i++)
    {
        printf("%d. sayi= ",i+1);
        scanf("%d",&x[i]);
        toplam= toplam + x[i];
    }
    ort=(float)toplam/n;
    printf("Sayilarin ortalamasi = %f\n",ort);
    system("pause");
}

4)Çok Boyutlu Diziler

•Tek Boyutlu Diziler Vektör niteliğindedir.

tip dizi_adi[eleman_sayisi] è int veri[10];

•İki Boyutlu Diziler Matris niteliğindedir.

tip dizi_adi[satır_sayisi][sutun_sayisi] ==> float mat[3][4];

•Çok boyutlu diziler;

tip dizi_adi[boyut_1][boyut_2][boyut_3]… ==> double x[3][2][4]

•4 erli 3 satırlık matris tanımlaması •

int x[3][4] = {11,34,42,60,  72,99,10,50,  80,66,21,38};

• •Matris Yazımı •

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

printf("%4d",x[i][j]);

printf("\n");

}

Çıktısı;

11 34 42 60

72 99 10 50

80 66 21 38

5)Fonksiyonlarla Kullanımı

•Fonksiyon işlemlerinde dizilerde kullanılmaktadır. Ama diğer değişkenlere göre biraz farklı kullanılırlar.

tip fonk_adi(parametre_tipi x[])

void yaz(float x[]);

Yukarıda ki kullanım ile fonksiyonun prototip tanımlaması yapılmıştır.

Örnek Kodlama;

#include <stdio.h>
#include <iostream>

void dizi_yaz(float x[],int boyut);//Fonk. Prototipi
int main(void)
{
float kutle[5]={8.471,3.683,2.321,5.423,8.327};
dizi_yaz(kutle,5);

system ("pause");
}

void dizi_yaz(float x[],int boyut)
{
     int i;
     printf("Fonksiyon kullanarak yazdirilan matris\n\n");
     for (i=0;i<boyut;i++)
         printf("%7.3f",x[i]);
     printf("\n\n");
}

Dersin içinde anlatılan slayt ve c kodlarını aşağıdan indirebilirsiniz.
08.01.2011 – C++ Diziler Dersi

Yazar Hakkında

Bilgisayarla yaşamayı bir tarz olarak benimsemiş, teknoloji ile tamamen içli dışlı bir; web tasarımcı, yazılımcı, donanımcı, blog yazarı ve bilgisayar mühendisidir.

B.Selçuk ÖKSÜZ
B.Selçuk ÖKSÜZ kullanıcısının tüm yazıları.

Arama Sorguları

  • c dizi örnekleri (206)
  • c diziler örnekler (57)
  • c matris örnekleri (37)
  • c diziler (31)
Advertisement

Bu Yazıyı Beğendiniz Mi?

1

Bir Cevap Yazın

Sizin Yorumunuz Nedir?

%d blogcu bunu beğendi:
Gizlilik Hakları