Çok boyutlu bir diziyi tanımlarken,eleman değerlerini atamak mümkündür.
int ablo[3][4]={8,16,9,52,3,15,27,6,14,25,2,10};
Diziyi tanımlarken , yukarıdaki gibi bir ilk değer atama yaparsanız,elemanların değeri aşağıdaki gibi olur:
Satır 0 : 8 16 9 52
satır 1 : 3 15 27 6
satır 2 : 14 25 2 10
Daha iyi anlamak için şöylede yazılabilir
int ablo[3][4]={{8,16,9,52},{3,15,27,6},{14,25,2,10}};
Bir Matrisin Transpozesini Bulma
Bir A matrisinin aynı numaralı satırlarıyle sütunlarının yer değiştirmesiyle elde edilen matristir.
A üssü t şeklinde gösterilir.
a11 a12 a13 a11 a21 a31
A =a21 a22 a23 A= a12 a22 a32
a31 a32 a33 a13 a23 a33
Örnek Algoritme Mantığı
1 2 3
4 5 6
7 8 9
x=0
1.adım i=0 j=1
tmp=a[0,1]
a[0,1]=a[1,0]=4
a[1,0]=tmp=2
Meydana Gelen :
1 4 3
2 5 6
7 8 9
2.adım i=0 j=2
tmp=a[0,2]=3
a[0,2]=a[2,0]=7
a[2,0]=tmp=3
Meydana Gelen :
1 4 7
2 5 6
3 8 9
x=1
3.adım i=1 j=2
tmp=a[1,2]=6
a[1,2]=a[2,1]=8
a[2,0]=tmp=6
Meydana Gelen :
1 4 7
2 5 8
3 6 9
______________________
Program
--------------------
#include <stdio.h>
int main(){
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j,x,tmp,n=3,m=3;
x=0;
for(i=0;i<n;i++){
for(j=x+1;j<m;j++){
tmp=a[i][j]; a[i][j]=a[j][i];
a[j][i]=tmp; printf("a dizisinin %d satiri %d sutunu %d\n",i,j,a[i][j]); }
x=x+1;}
for (i=0;i<n;i++)
for(j=0;j<n;j++)
printf("a dizisinin Devrik Versiyonunu %d satiri %d sutunu %d\n",i,j,a[i][j]);
}
______________________

0 yorum:
Yorum Gönder