-
Üyelik
30.10.2015
-
Yaş/Cinsiyet
30 / E
-
Meslek
Üniversite Öğrencisi
-
Konum
Trabzon
-
Ad Soyad
Y** S**
-
Mesajlar
33
-
Beğeniler
12 / 0
-
Ticaret
0, (%0)
C programlama dilinde yalnızca pointer kullanarak nasıl matris yazdırabiliriz? Mantık olarak dizilerdeki gibi olduğunu düşünüyorum fakat dizilerde :
for (i=0 ; i<5 ; i++) {
for (j=0 ; j<5 ; j++) {
printf("%c",matris[i][j]) ;
}
}
şeklinde yazabiliyorken bunu pointer'de nasıl tanımlayabiliriz?
-
Üyelik
16.03.2016
-
Yaş/Cinsiyet
28 / E
-
Meslek
öğrenci
-
Konum
İstanbul Avrupa
-
Ad Soyad
E** K**
-
Mesajlar
451
-
Beğeniler
38 / 78
-
Ticaret
7, (%100)
Benim bildiğim kadarıyla bu dizilere özgü bir özellik. Dizilerde şöyle bir durum var. Dizinin ilk elemanının yerini bir pointer a aldıktan sonra *(pointer adı +i) şeklinde i yi sürekli arttırarak tüm diziye ulaşılabilir.
Ancak matrisler bellekte sıralı olarak yer kaplamıyor. Bir satırdan diğer satıra geçtimizde bellekte normalde birer birim ilerlerken satır atlayınca alt satıra geçer. Fakat linked list kullanımını biliyorsanız onlarla yapılabilir hocam.
1 kişi bu mesajı beğendi.
http://www.pubtekno.com
-
Üyelik
16.03.2016
-
Yaş/Cinsiyet
28 / E
-
Meslek
öğrenci
-
Konum
İstanbul Avrupa
-
Ad Soyad
E** K**
-
Mesajlar
451
-
Beğeniler
38 / 78
-
Ticaret
7, (%100)
Hocam bende şimdi kararsızlığa düştüm. Soruda matrisin ilk elemanının yerini göndermiş. O bellekte matrisin bütün satırları ard arda geliyorda olabilir. Hatta soru öyle verdiğine göre öyledir. Siz şu dediğimi kodlayın bir olmazsa biraz daha düşünelim.
x=0;
for(i=0;i{
for(j=0;j {
*(param+x)=i*j;
x++;
}
}
1 kişi bu mesajı beğendi.
http://www.pubtekno.com
-
Üyelik
30.10.2015
-
Yaş/Cinsiyet
30 / E
-
Meslek
Üniversite Öğrencisi
-
Konum
Trabzon
-
Ad Soyad
Y** S**
-
Mesajlar
33
-
Beğeniler
12 / 0
-
Ticaret
0, (%0)
Fonksyonu çözdüm hocam , çok sağolasın :)
void myInitialize(int *param1, const int rows, const int columns) {
int i,j ;
for(i=0 ; i for(j=0 ; j
*param1 = i*j ;
param1++ ;
}
}
}
Sizde aynısını yapmışsınız zaten :)