14- C PROGRAMLAMAYA GİRİŞ: DİZİLER –> ÇOK BOYUTLU DİZİLER

Çok boyutlu bilgileri veya veri tablolarını saklamak için kullanılırlar.

Tanımlama biçimi: Tip Değişken_adı [Boyut1] [Boyut2] [Boyut3]…

Tip: Değişken türü

Değişken adı: Dizinin adı

[Boyut1]: Birinci boyut

[Boyut2]: İkinci boyut

Dizimiz iki boyutlu ise bir tabloya benzer. Bu durumda birinci boyut satırları, ikinci boyut ise sütunları gösterecektir. Bunun gösterim şekli ise;

    • cemozgul
    • 07 May 2011

    benim c de bir ödevim varda yardımcı olurmusunuz acaba
    sitesiniz gercekten mükemmel ötesi c ye başladığımdan beri takip ediorum

    • cemozgul :

      benim c de bir ödevim varda yardımcı olurmusunuz acaba
      sitesiniz gercekten mükemmel ötesi c ye başladığımdan beri takip ediorum

      Site Hakkındaki yorumlarınız için teşekkür ederim.
      Ödev için de yardımcı olurum.

    • kasimlo
    • 10 May 2011

    çok teşekkür ederim, diziler konusu oldukça faydalı bir anlatım olmuş,
    eğer bir kitap tavsiyesinde bulunursanız çook sevinirim…
    saygılarımla….

    • kasimlo :

      çok teşekkür ederim, diziler konusu oldukça faydalı bir anlatım olmuş,
      eğer bir kitap tavsiyesinde bulunursanız çook sevinirim…
      saygılarımla….

      Yorumlarınız için teşekkür ederim.
      Kitap konusunda birkaç şey söylemek isterim.
      Öncelikle her yazarın değişik anlatım yöntemleri bulunmaktadır. Bir kitabı tercih edecekseniz size en uygun hitap edebilen, kodları okurken anlamada kolaylık sağlıyabileceğiniz ve içerisinde bol örneklerin olduğu kitapları tercih etmenizde fayda bulunmaka…

      ” C Programlama dili –> Rıfat Çölkesen”, “C ve C++ –> Harvey M. Deitel, Paul J. Deitel” kitaplarına bakarak sizin için uygun olanını tercih edebilir; diğer c programlama kitaplarını inceliyerek bu iki kitabı mukayese edebilirsiniz.

    • MERVE
    • 06 Kas 2011

    merhabalar bir sorum var yardımcı olur musunuz?8*8lik dinamik bir dii oluşturcam fakat satır ve sütunlar sadece 1 ve 0 lardan oluşcak ve her seferinde farklı şekilde üretecek srand fonks kullancam random falan ama yapamadım,mesela 10001100 bu satır her seferinde değişcek sütunda aynı şekilde,yani sadece 1 ve 0 ların yeri değişcek sanırım anlattım derdimi teşekkürler

    • time.h kütüphanesini ilave edin.
      kodunuzun içerisinde srand(time(NULL)); ifadesini bulundurun. Böylece aynı sayıları üretmenin önüne geçersiniz. Bu ifadeyi main bloğu içerisinde, programın başında birkez çağırın.

      rand(); kullanımı

      rand() % 2 Yalnızca 0 ya da 1 değerini üretir.
      rand() % 8 0 – 7 aralığında rasgele bir değer üretir
      rand() % 8 + 1 1 – 8 aralığında rasgele bir değer üretir.

    • MERVE
    • 06 Kas 2011

    şu koda bakar mısın bi iki boyutlu dizide kullanamdım ben bu rand mı
    for(i=0;i<=SUTUN;i++)
    {

    for(j=0;j<=SATIR;j++)
    sayi[j]=rand()%2;
    printf("%d",sayi[j]);
    printf("\n");
    }
    matrisi yazdırırken rand nereye yerleştircem,?

    • MERVE
    • 06 Kas 2011

    #include
    #define SATIR 8
    #define SUTUN 8

    int main(){
    int maze[SATIR][SUTUN];
    srand(time(NULL));

    //int maze[SATIR][SUTUN];//{{0,1,0,1,0,0,1,1},
    //
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1},
    //{0,1,0,1,0,0,1,1}};

    int i;
    int j;

    for(i=0;i<=SUTUN;i++)
    {

    for(j=0;j<=SATIR;j++)
    maze[j][i]=rand()%2;

    printf("%d",maze[j][i]);
    printf("\n");
    }

    system("pause");
    return 0;
    }
    burda rand kısmında hata veryo hep yanlış mı kullanıorum bayadır arştırdım doğru gibi iki boyutlu diziye rand üreten sayıları atıorum onu yazdırıorum çok basit ama sıkıntısı ne anlaymadım yardımcı olun lütfen Allah razı olsun şimdiden

    • 8*8 şeklinde istiyorsanız döngünüzü aşağıdaki gibi düzenleyebilirsiniz.

      for(i=0; i<8; i++){
      for(j=0; j<8; j++){
      maze[j][i]=rand()%2;

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

      }
      printf("\n");
      }

      NOT: Bu arada gerekli kütüphaneleri include ettiğinizi varsayıyorum.

    • MERVE
    • 07 Kas 2011

    Teşekkürler sorun sadede define olarak tanımlamam da o zaman anlamadım döngünün içinde rakam yazmayıp satır sutun kullandığımda olmamıştı ilgilendiğiniz için sağolun kolay gelsin ii çalışmalar

    • halis emre
    • 10 Ara 2011

    #include
    #define N 3
    int main();

    int a[N][N],b[N][N],d[N][N];
    int i,j;

    for(i=0;i<N;i++)
    for(j=0;j<N;j++)
    {
    printf("A matrisinin[%d,%d]inci elemanini giriniz",i+1,j+1);
    scanf("%d",&a[i][j]);
    }
    for(i=0;i<N;i++)
    for(j=0;j<N;j++)
    {
    printf("B matrisinin elemanlari:\n");
    scanf("%d",&b[i][j]);
    }
    for(i=0;i<N;i++)
    {
    for(j=0;j<N;j++)
    {
    d[i][j]=a[i][j]+b[i][j];
    printf("%d",d[i][j]);
    }
    printf("\n");
    }
    }

    buradaki hata ne olabilr acaba ilk for dan önce bişe yapmam gerekiyor galiba ama ne yardımcı olabilirmisinz?

    • main() bloğunun başlangıcı ve bitişi belli değil. main bloğundan sonra ; -noktalı virgül- kullanılmaz. main() bloğu süslü parantezler içerisinde olmalıdır.
      main () {
      }

      şeklinde…

        • halis emre
        • 10 Ara 2011

        çok teşekkür ederim 🙂

    • muratcan
    • 28 Ara 2011

    Merhabalar;

    Benim çok acil bir ödevim var biraz ilerledim ama bitiremedim tam olarak.
    Elimde 3*3lük bir matris var bu matrisin satırlarını küçükten büyüğe sıralamam gerekiyo her satırı kendi içinde yani. En azından bir fikir verirseniz çok sevinirim.

    Teşekkürler…

    • taygun
    • 09 Oca 2012

    hocam ellerine sağlık çok güzel bir site hazırlamışsın. benim senden bi ricam var. ben dizileri falan hazırlıyorum sorun yok ama bi sıkıntım var,mesela örnek veriyim:2tane çok boyutlu dizim var ve 1.diziye elemanlar kullanıcı tarafından giriliyor. bu dizideki elemanlardan çift olanlar veya tek olanlar veya ortalamasından büyük olanlar vs.vs. gibi. bunların program tarafından oluşturduğumuz 2. diziye aktarılıp oluşturulan 1. matrisin altında ekranda görünmesini istiyorum ama beceremedim. yardımcı olabilirmisin acaba?

    • didem
    • 13 Oca 2012

    iyi günler benim pascalda bir sorunun var 2×2 yada 3×3 tipindeki bir matrisin aynaya göre simetriğini yazdıran program ödevim bana yardımcı olurmusunuz

    çok önemli!!!

  1. Eline sağlık güzel olmuş

    • svgsty
    • 14 Mar 2012

    4*4 bir matrisin simetri olup olmadığını bulan program çok acillll

    • Recep
    • 04 May 2012

    İyi Günler(Geceler) bir kaç gündür siteyi takip ediyorum ve etmeye devam edeceğim gerçekten çok güzel anlatımlar var emeğinize elinize bilginize sağlık

    Bir soruda takıldım bana yardımcı olabilir misiniz ?
    C ye yeni başladım yaklaşık 1 aydır üzerinde çalısıyorum dersler gereği

    60 basamaklı iki sayının birbiri ile çarpımın da çarpımı dizilere aktarabiliyorum ama bunları toplama işlemine geldiğim zaman sıkıntı cıkıyor bu konuda yardımcı olabilirseniz sevinirim …

    programda ilk önce 60 tane otomatik A ve B dizileri oluşturuyorum oluşturulan dizilerin çarpımını G dizisine sıralı olarak atıyorum (G[0,0]=A[0] , B [0]) şeklinde bu işlemlerden sonra toplama ya geçiyorum
    –>
    Buraya kadar hiçbir sıkıntı yok buradan sonra
    –>
    toplama işleminde ise G00 en basa G01 ve G10’u (buradaki amaç indisleri toplamı birbirine eşit olan sayıları toplamak G00 — G01+G10 — G21+G12+G30+G03—……)toplayıp ikinci satıra ama bunların toplamından elde olursa G00’a ekleyerek devam ettirmem gerekiyor burada hata yapıyorum düzeltemedim

    Anlaşılır olmuşumdur umarım…
    Müsait olursanız cevabınızı bekliyorum

    Teşekkürler İyi gün ve geceler …

    • ………….
    • 10 May 2012

    sayfanız gerçekten çok faydalı i sayfa tebrik ederim benim bi sorum olacak matrislerde çarpma işleminı yazan program önasıl oluyor örnek verebilirmisiniz( 2×2 yada 3×3 lük olan)

  2. klavyeden girilen matrisin tek sıradaki satırlarını kendi arasında (1 ile 3 ,…) değiştiren programın yazılımını bulabilirmisiniz çokk acil

    • mehmet cömert
    • 22 May 2013

    ya çok acil yardıma ihtiyacım var

    Girişten verilen mxn ve nxk boyutlarındaki matrisin çarpımını bulan programı
    yazınız. Çarpma işlemi bir fonksiyona yaptırılmalıdır

    yardımcı olurmusunuz

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: