GOLDSHADOW
جمعه 06 فروردین 1395, 15:36 عصر
سلام به همه دوستان گلم
یه شبه کده که میخوام با کمک شما عزیزان حلش کنم
ممنون میشم همراهی کنید
در ضمن قبلا جستجو کردم برای این برنامه چیزه مفیدی گیر نیومد.
من خودم از یاد دادن به بقیه خیلی چیزا هم خودم یاد گرفتم ایشالا شما هم مطلب جدیدی یاد بگیرید.
کد مورد نظر ضمیمه شده.
#include <iostream.h>
#include <conio.h>
void add(int *A,int *B,int *C,int n)
{
//A[i][j] A[i*n+j]
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
//C[i][j]=A[i][j]+B[i][j]
C[i*n+j]=A[i*n+j]+B[i*n+j];
}
void merge(int *a,int *b,int i,int j,int n)
{
}
void copy(int *a,int *b,int i,int j,int n)
{
}
void mul(int *A,int *B,int *C,int n)
{
int m=n/2;
int * A11=new int[m*m];
copy(A,A11,0,0,m);
copy(A,A12,0,m,m);
copy(A,A21,m,0,m);
copy(A,A22,m,m,m);
copy(B,B11,0,0,m);
copy(B,B12,0,m,m);
copy(B,B21,m,0,m);
copy(B,B22,m,m,m);
mul(A11,B11,t1,m);
mul(A12,B21,t2,m);
add(t1,t2,C11,m);
mul(A11,B12,t1,m);
mul(A12,B22,t2,m);
add(t1,t2,C12,m);
mul(A21,B11,t1,m);
mul(A22,B21,t2,m);
add(t1,t2,C21,m);
mul(A21,B12,t1,m);
mul(A22,B22,t2.m);
add(t1,t2,C22,m);
merge(C11,C,0,0,m);
merge(C12,C,0,m,m);
merge(C21,C,m,0,m);
merge(C22,C,m,m,m);
delete A11;
}
void main()
{
}
یه شبه کده که میخوام با کمک شما عزیزان حلش کنم
ممنون میشم همراهی کنید
در ضمن قبلا جستجو کردم برای این برنامه چیزه مفیدی گیر نیومد.
من خودم از یاد دادن به بقیه خیلی چیزا هم خودم یاد گرفتم ایشالا شما هم مطلب جدیدی یاد بگیرید.
کد مورد نظر ضمیمه شده.
#include <iostream.h>
#include <conio.h>
void add(int *A,int *B,int *C,int n)
{
//A[i][j] A[i*n+j]
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
//C[i][j]=A[i][j]+B[i][j]
C[i*n+j]=A[i*n+j]+B[i*n+j];
}
void merge(int *a,int *b,int i,int j,int n)
{
}
void copy(int *a,int *b,int i,int j,int n)
{
}
void mul(int *A,int *B,int *C,int n)
{
int m=n/2;
int * A11=new int[m*m];
copy(A,A11,0,0,m);
copy(A,A12,0,m,m);
copy(A,A21,m,0,m);
copy(A,A22,m,m,m);
copy(B,B11,0,0,m);
copy(B,B12,0,m,m);
copy(B,B21,m,0,m);
copy(B,B22,m,m,m);
mul(A11,B11,t1,m);
mul(A12,B21,t2,m);
add(t1,t2,C11,m);
mul(A11,B12,t1,m);
mul(A12,B22,t2,m);
add(t1,t2,C12,m);
mul(A21,B11,t1,m);
mul(A22,B21,t2,m);
add(t1,t2,C21,m);
mul(A21,B12,t1,m);
mul(A22,B22,t2.m);
add(t1,t2,C22,m);
merge(C11,C,0,0,m);
merge(C12,C,0,m,m);
merge(C21,C,m,0,m);
merge(C22,C,m,m,m);
delete A11;
}
void main()
{
}