PDA

View Full Version : سوال: ترانهاده ماتریس اسپارس



hercool
چهارشنبه 08 دی 1389, 12:48 عصر
سلام خدمت دوستان
سوالی در رابطه با ترانهاده ماتریس اسپارس دارم ممنون میشم راهنمایی بفرمایید

کد


void transpose_sparse(sparse mat[],sparse Tmat[])
{
int n,i,j,current_Tm;
n=mat[0].value;
Tmat[0].row=mat[0].col;
Tmat[0].col=mat[0].row;
Tmat[0].value=n;
if(n>0)
{
current_Tm=1;
for(i=0;i<mat[0].col;i++)
for(j=1;j<=n;j++)
if(mat[j].col==i)
{
Tmat[current_Tm].row=mat[j].col;
Tmat[current_Tm].col=mat[j].row;
Tmat[current_Tm].value=mat[j].value;
}
}
}


سوال من در رابطه با نواحی رنگی هست (ابی و قرمز)
که در این قسمت ها چه عملیاتی انجام میشه؟

سعیدسعید
چهارشنبه 08 دی 1389, 21:04 عصر
سلام
دوست عزیز شما مطمئن هستید که کد نوشته شده درست هست؟ منظورم اینه که موقع تایپ کردن درست تایپ کردید؟؟؟؟

چون در داخل حلقه های فوق Current_Tm همیشه 1 هست و هیچ مقدار جدیدی را به خود نمیگیرد!!!!!!!!!!!!!!

فقط در رابطه با ترانهاده ماتریس اسپارس بگم که مسئله سختی نیست فقط مقادیر جای سطر و ستون رو عوض می کنید و value هم همان است.

باز شما کد رو یک بار دیگه هم نگاه کنید اگر همینطور بود باهم یک تحلیل بکنیم ببینیم که چه اتفاقی میفته :لبخندساده:

hercool
پنج شنبه 09 دی 1389, 07:55 صبح
نه سعید جان چک کردم عین خود نوشته کتاب بوده