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;
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.
ç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.
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.
ş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,?
Bu zaten tek boyutlu olmuş. İki, boyut için yukarıdaki örneklere bakabilirsiniz.
#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.
NOT: Bu arada gerekli kütüphaneleri include ettiğinizi varsayıyorum.
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
#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…
çok teşekkür ederim 🙂
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…
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?
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!!!
Eline sağlık güzel olmuş
4*4 bir matrisin simetri olup olmadığını bulan program çok acillll
İ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 …
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)
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
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