نمایش نتایج 1 تا 14 از 14

نام تاپیک: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    من یه برنامه می خواستم بنویسم که وقتی اعداد یه ماتریس به برنامه میدیم به ما بگه که این ماتریس هم ارزی هست یا نه و مشخص کنه ویژگی های بازتابی و تقارنی و تعدی رو
    توش موندم !
    میتونه با سی یا سی++

  2. #2

    نقل قول: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    با سلام
    من به همراه یکی از دوستانم در نظر داشتیم که یک ماتریس،که از هر لحاظی کارآمد باشد را بنویسیم. که حتی بتواند ضرب های n*n را هم انجام دهد.
    از الگوریتم خاصی هم استفاده کردیم. مدتی است که تست آن به تعویق افتاده است
    اگر مایل باشید می توانیم با همکاری خودتان، نظرات شما را هم به آن اضافه کنیم و کلاس ماتریس را کاملتر کنیم.
    منتظر جواب هستم.

  3. #3

    نقل قول:]چه باید کرد

    یه کم بیشتر توضیح بدین و بگین که چیکار باید بکنم

  4. #4

    نقل قول: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    خوب شما که می خواهید این برنامه را بنویسید لابد شی گرایی بلدید!؟
    یک سری توضیحات هم در مورد کارمون باید به شما بدیم
    می تونید با آی دی های saba_r_g یا esshahab در یاهو مسنجر با ما در تماس باشید تا بیشتر راهنمایی کنیم

  5. #5

    نقل قول: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    بچه ها من برنامه sparse matrix رو نوشتم که میتونه ضرب های ماتریس های 1000 *1000 و بیشتر رو هم حساب کنه

    ترانهادشو حساب کنه و... اگه خواستید میتونیم با هم روش کار کنیم که این قابلیت های دیگه ای رو که شما گفتید رو بهش اضافه کنیم


    موفق باشید

  6. #6
    کاربر دائمی آواتار bsng110
    تاریخ عضویت
    آبان 1386
    محل زندگی
    اصفهان
    سن
    36
    پست
    104

    Wink نقل قول: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    هوالحکیم
    سلام
    حقیقتش برنامه ما یک کلاس ماتریس در ++C بود که به صورت دینامیک ساخته می شد و می شد اندازه ماتریس را تغییر هم داد. ماتریس ما در اصل یک آرایه بود. اعمال جمع و تفریق و ضرب ماتریس ها را هم براش پیاده سازی کرده بودیم. دترمینان و ماتریس معکوس را هم نوشته بودیم. یه سری متد هم برای تشخیص ماتریس های ویژه مانند ماتریس صفر و بالا مثلثی و ... مثل اینکه داشت. یک سری ماتریس های به خصوص مانند ماتریس قطری و .. را هم نوشته بودیم. اما دیگه حواسمون به این مواردی که دوست عزیزمون گفتند یعنی هم ارزی نبود. حالا یک کلاس هم برای اون می نویسیم. اما در مورد این دوست عزیز که گفتند ماتریس اسپارس را نوشتند که می تواند یک دو ماتریس 1000*1000 را در هم ضرب کند، می توانید بیشتر توضیح دهید؟ چگونه؟ منظورتان از ماتریس اسپارس چیست؟ شما چه مقادیری از این ماتریس را ذخیره می کنید؟ روش ذخیره سازی شما چگونه است؟
    دوستمون aminwxy هم لطف کنن یک کم بیشتر توضیح بدن که دقیقاً چی می خواهند؟ یک برنامه؟ یا کمک؟ یا اینکه قصد دارند خودشان نیز به ما کمک کنند تا با هم این کد ها را بنویسیم؟
    اما در مورد هم ارزی باید بگویم که:
    اولاً ماتریس باید حتماً مربعی باشد!
    در مورد ماتریس بازتابی که کافیست عناصر قطر را بررسی کنیم و چنانچه همه یک بودند، ماتریس بازتابی است.
    در مورد ماتریس متقارن که دو حلقه for تو در تو می گذاریم و بالا و پایین قطر را بررسی می کنیم. قطر هم مهم نیست. با یک if ساده بررسی می کنیم که اگر [a[i][j]!=a[j][i بود، ماتریس بازتابی نیست و الا هست.
    در مورد ماتریس تعدی هم مثل بررسی ماتریس متقارن عمل می کنیم. با این شرط که چنانچه [a[i][j یک بود و به ازای k از 0 تا n-1 هم [a[j][k یک بود، باید [a[i][k هم یک باشد. یعنی سه تا حلقه for تو در تو نیاز داریم که دو حلقه اول برای پیمایش مثلی ماتریس(مثلاً پایین مثلث) استفاده می شوند و حلقه دوم و سوم هم برای پیمایش مثلثی طرف دیگر ماتریس(مثلاً بالای ماتریس) استفاده می شوند.
    ساده ترین کار هم این است که در ابتدا سه متغییر bool به نام بازتابی و تقارنی و تعدی تعریف کنید و بعدش حلقه های بالا را بنویسد و بعدش نتایج را چاپ کنید.
    البته هنر اینه که به جای استفاده از سه پارامتر از یک Enum استفاده کنید و به جای استفاده از این شش حلقه فقط از سه حلقه استفاده کنید! این دیگه آخر برنامه می شه.
    کمکی خواستید در خدمتیم.
    یا علی
    خدانگهدارتون

  7. #7
    کاربر دائمی آواتار YourWorldToday
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    مشهد - قم - قزوین
    پست
    178

    نقل قول: هر کی بلده لطفا یه راهنمایی بکنه (ماتریس ها)

    با سلام خدمت دوستان گرامی
    این قسمت متقارن برنامه درست کار می کنه؟

    //Tagharoni
    int f2=0;
    for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
    if(i<j){
    if(a[i][j]==a[j][i])
    f2++;
    }
    }
    }
    if(f2==(((n*n)-n)/2)) {
    cout<<"Tagharoni Ast\n\n";
    cout<<"-----------------\n";
    r2=true;

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •