fungisultan Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 Merhaba. Pointer kullanarak iki boyutlu matris çarpımı yaptım. Ancak çarpım matrisinde bir hata var sanırım. Program çalışıyor fakat çarpım matrisini görüntülemeden kapanıyor. Nerde hata yapıyorum anlayamadım. Yardımcı olursanız sevinirim. #include<iostream> #include<ctime> #include<cstdlib> using namespace std; void multip_matrix(int **aptr, int **bptr, int **cptr, int k, int m, int n){ int i,j,l; for(i=0; i<k; i++){ for(l=0;l<n; l++){ *(*(cptr+i)+l)=0; for(j=0;j<m; j++){ *(*(cptr+i)+l)= *(*(cptr+i)+l)+(*(*(aptr+i)+j))*(*(*(bptr+j)+l));} cout<<*(*(cptr+i)+l)<<"t";} cout<< endl; } } int main() { srand(time(NULL)); int k,m,n,i,j; cout<<"k icin bir deger giriniz="; cin>>k; cout<<"m icin bir deger giriniz="; cin>>m; cout<<"n icin bir deger giriniz="; cin>>n; int A[k][m],B[m][n],C[k][n]; int *aptr=&A[k][m], *bptr=&B[m][n], *cptr=&C[k][n]; for(i=0;i<k;i++){ aptr=new int [m]; } for(i=0;i<m;i++){ bptr=new int [n]; } for(i=0;i<k;i++){ cptr=new int [n]; } for(i=0; i<k; i++){ for(j=0;j<m; j++){ A[i][j]=(rand()%6); cout<<A[i][j]<<"t"; } cout<<endl; } cout<<endl; for(i=0; i<m; i++){ for(j=0;j<n; j++){ B[i][j]=(rand()%6); cout<<B[i][j]<<"t"; } cout<<endl;} multip_matrix(&aptr,&bptr, &cptr, k, m,n); for(i=0;i<k;i++){ delete []aptr;} for(i=0;i<m;i++){ delete []bptr; } for(i=0;i<k;i++){ delete []cptr; } system("PAUSE"); return 0; }
senko Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 beynim yandı sanırım. bi code blogunun içine alsana mümkünse, takip edemedim hakketen
fizban Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 A ve B matris'inin elemanlarını tanımlarken daha hata var, A[j] değil A[i][j] ve B[i][j] falan diyeceksin.
Sypro Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 ne bu devcpp falan mı? anca o böyle amaçsız indentation yapabiliyor.
mulgear6 Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 Javada yazmistim bi tane atiyim eve varinca nerdeyse ayni seyin laciverti sayilir
zeawee Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 ahahah cidden devcpp heralde, ayarlarindan ayarlanabiliyor ama.
mulgear6 Mesaj tarihi: Mart 3, 2012 Mesaj tarihi: Mart 3, 2012 fungisultan said: system("PAUSE"); return 0; } Ahahah kipsle yapmis pause
Anason Mesaj tarihi: Mart 4, 2012 Mesaj tarihi: Mart 4, 2012 aptr, bptr, cptr icin '=' dedigin tum yerler bana yanlis geldi yada ben anlamadim yapmak istedigini.
fungisultan Mesaj tarihi: Mart 4, 2012 Konuyu açan Mesaj tarihi: Mart 4, 2012 #include<iostream> #include<ctime> #include<cstdlib> using namespace std; void multip_matrix(int **aptr, int **bptr, int **cptr, int k, int m, int n){ int i,j,l; for(i=0; i<k; i++){ for(l=0;l<n; l++){ **cptr=0; for(j=0;j<m; j++){ *(*(cptr+i)+l)=*(*(cptr+i)+l)+(*(*(aptr+i)+j))*(*(*(bptr+j)+l));} cout<<*(*(cptr+i)+l)<<"t";} cout<< endl; } } int main() { srand(time(NULL)); int k,m,n,i,j; cout<<"k icin bir deger giriniz="; cin>>k; cout<<"m icin bir deger giriniz="; cin>>m; cout<<"n icin bir deger giriniz="; cin>>n; int A[k][m],B[m][n],C[k][n]; int **aptr=0;int **bptr=0;int **cptr=0; aptr=new int *[k];bptr=new int *[m];cptr=new int *[k]; for(i=0;i<k;i++){ aptr[i]=new int [m];} for(i=0;i<m;i++){ bptr[i]=new int [n]; } for(i=0;i<k;i++){ cptr[i]=new int [n]; } for(i=0; i<k; i++){ for(j=0;j<m; j++){ A[i][j]=(rand()%6); cout<<A[i][j]<<"t"; } cout<<endl; } for(i=0; i<m; i++){ for(j=0;j<n; j++){ B[i][j]=(rand()%6); cout<<B[i][j]<<"t"; } cout<<endl;} multip_matrix(aptr,bptr, cptr, k, m,n); for(i=0;i<k;i++){ delete [] aptr[i]; delete [] aptr;} for(i=0;i<m;i++){ delete [] bptr[i]; delete [] bptr; } for(i=0;i<k;i++){ delete [] cptr[i]; delete [] cptr; } system("PAUSE"); return 0; }
fungisultan Mesaj tarihi: Mart 4, 2012 Konuyu açan Mesaj tarihi: Mart 4, 2012 Kodu tekrar kopyaladım.Dizi tanımlamalarındaki[i]kısımları falan görünmüyor ama kod random olarak A ve B dizilerini yaratıyor.multip_matrix fonksiyonunda bir sorun var, ne olduğunu anlayamadım.
LethE Mesaj tarihi: Mart 4, 2012 Mesaj tarihi: Mart 4, 2012 edit: sanırım sen birazda [*i] italik tagının azizliğine uğruyosun bizde 'yuh napıyo bu' diyoruz.
Sypro Mesaj tarihi: Mart 4, 2012 Mesaj tarihi: Mart 4, 2012 fikir vermesi için: http://snipd.net/matrix-multiplication-in-c
aquila Mesaj tarihi: Mart 5, 2012 Mesaj tarihi: Mart 5, 2012 lan kod okumayi kolaylastirmasi gereken tag, daha da bozuyo olayi, nasil is.
mulgear6 Mesaj tarihi: Mart 5, 2012 Mesaj tarihi: Mart 5, 2012 deneme deneme dene denem denema af dsfsdfs sfsf
Öne çıkan mesajlar