تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 9 از 326 اولاول ... 56789101112131959109 ... آخرآخر
نمايش نتايج 81 به 90 از 3257

نام تاپيک: سوالات مبتدی و عمومی (++C, C) خود را اینجا بپرسید

  1. #81
    اگه نباشه جاش خالی می مونه shadmehrdj's Avatar
    تاريخ عضويت
    Oct 2006
    محل سكونت
    Tehran
    پست ها
    203

    پيش فرض

    میشه بگید مشکل این برنامه کجا هست.این برنامه دترمینان ماتریس 5*5 را حساب میکنه.اما وقتی اجرا می کنم Divide Error میده.
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    void main(){
    clrscr();
    int a[5][5];
    int i,j,n,d,k;
    for (i=1;i<5;i++)
    for (j=1;j<5;j++)
    a[i][j]=random(9);
    for (i=1;i<5;i++){
    for (j=1;j<5;j++)
    printf("%5d",a[i][j]);
    printf("\n");}
    for (k=1;k<5-1;k++)
    for (i=k+1;i<5;i++)
    for (j=1;j<5;j++)
    a[i][j]=a[i][j]*(a[k][k]/a[i][k])-a[k][j];
    d=1;
    for (i=1;i<5;i++)
    d=d*a[i][i];
    printf("Determinant is:%d",d);
    getch();
    }
    Last edited by shadmehrdj; 26-11-2007 at 13:11.

  2. #82
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    علتerror که مسلما ههمون جاییه که تقسیم کردی :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یعنی توی شرایطی [a[i][k براربر 0 میشه.اما اینکه چرا اینطوریه اگه فرمول دترمینان 5x5 رو بگذاری بهتر میشه کمک کرد

  3. #83
    اگه نباشه جاش خالی می مونه shadmehrdj's Avatar
    تاريخ عضويت
    Oct 2006
    محل سكونت
    Tehran
    پست ها
    203

    پيش فرض

    میشه شما یک برنامه برای من بنویسید که دترمینان ماتریس 5*5 را حساب کنه؟
    Last edited by shadmehrdj; 26-11-2007 at 13:10.

  4. #84
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    فرمولش رو ندارم

  5. #85
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    تابع(fact) فقط یک عدد(n) میگیره و فاکتوریلش رو برمیگردونه, به این صورت که اگه عدد یک بود, 1 رو برمیگردونه و در غیر این صورت, مقدار(n * fact(n-1 رو که برابر همون !n هست رو برمیگردونه.وقتی توی خود تابع, (fact(n-1 فراخوانی میشه, مسیر برنامه به اول تابع میره (مثل وقتی که توی یک تابع, یک تابع دیگه رو صدا بزنی) و n-1 رو به تابع میده.دوباره اینجا اگه n دو باشه n-1 میشه 1 و تابع 1 رو برای تابع فراخواننده(که همین تابع هست) برمیگردونه در نتیجه در تابع اول, (fact(n-1 رو برمیگردونه.
    دقیقا مشکل من همین جاست و قتی ما در تابع مثلا فرمولی نداریم این تابع (fact(n-1 چی رو به ما برمیگردونه!؟
    من فکر کنم نتیجه برعکس چاپ میشه چون تابع fact باید تا آخر بره تا دستور return 1 برسه بعد حالا شروع به چاپ می کنه:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگه از یه IDE مثل Visual Studio که Debug قوی داشته باشه استفاده میکنی, با Trace کردن خط به خط این تابع خیلی راحتتر متوجه میشی که منظور چیه
    با turbo c++ 4.5 میشه trace کرد- منظورت از IDE چیه؟ visual studio برای c++ نیست؟ c هم میشه توش اجرا کرد؟

  6. #86
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

    با آرایه ساده تر نمیشه اما اینجا برای اینکه خیلی پیچیده نشه از آرایه ایستا(Static) استفاده کردم(فکر کنم هنوز آرایه پویا(استفاده از new) رو نخونده باشین) واسه همین طول آرایه باید از قبل مشخص باشه و برنامه نمیتونه برای هر M و N ی نتیجه رو حساب کنه.آرایه دو بعدی رو 20 در 6 گرفتم تا نتیجه ی مساله برای حالت 3 در 3 توش ریخته بشه(20 مسیر 6 حرکتی) و چاپ بشه.ضمن اینکه باز هم واسه سادگی آرایه رو سراسری تعریف کردم و آرایه به صورت آرگومان به تابع ارسال نمیشه.اگه میخوای برای مقدار های بیشتر هم نتیجه رو ببینی باید اندازه ی آرایه رو بیشتر کنی
    نمیشه هر راه رو در یک آرایه ی یک بعدی ریخت یعنی مثلا 3 در 3 در یک آرایه 6 تایی بار اول راه اول رو چاپ کنه بعد خط بعد دوباره همین آرایه مقادیر جدید بگیره راه دوم رو چاپ کنه

  7. #87
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Aug 2007
    پست ها
    486

    پيش فرض

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

  8. #88
    در آغاز فعالیت behdad_20's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    13

    پيش فرض

    باعرض سلام و خسته نباشید .
    m3hrz4ad جان قربونت جواب ما رو هم بده دیگه .

    من برنامه ای میخواستم که 1 رشته از ورودی گرفته و مشخص نماید آیا نیمه سمت راست با نیمه سمت چپ آن برابر است یا خیر و پیغام مناسب در خروجی چاپ کند.
    با تشکر.
    برنامه دیگه ای هم میخواستم که شماره دانشجویی ، نام ، نام خانوادگی و معدل یک کلاس5 نفری را از ورودی گرفته و شاگرد اول و دوم را به همراه شماره دانشجویی و نام آن مشخص کند و آن را در خروجی چاپ کند.
    برنامه ها رو با ++C میخواستم .
    با تشکر.

  9. #89
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2007
    پست ها
    205

    پيش فرض

    دقیقا مشکل من همین جاست و قتی ما در تابع مثلا فرمولی نداریم این تابع (fact(n-1 چی رو به ما برمیگردونه!؟

    من فکر کنم نتیجه برعکس چاپ میشه چون تابع fact باید تا آخر بره تا دستور return 1 برسه بعد حالا شروع به چاپ می کنه:


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    با turbo c++ 4.5 میشه trace کرد- منظورت از IDE چیه؟ visual studio برای c++ نیست؟ c هم میشه توش اجرا کرد؟
    خوب (fact(n-1 اگه n بزرگتر از1 باشه به ما(n * fact(n-2 رو برمیگردونه.فرمولی نیاز نیست چون تنها کاری که توی بدست آوردن فاکتوریل انجام میشه عمل ضرب هست.این * n چیزی هست که کل کار رو انجام میده.

    اینجا که نتیجه چاپ نمیکنیم اما در کل نمیشه گفت نتیجه برعکس چاپ میشه چون اولین چیزی که اجرا میشه * n هست نه * 1 .مثلا این کد رو اگه اجرا کنی :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نتیجه میشه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    منظورم از IDE همین محیط های برنامه نویسی هست. Visual Studio برای ++C هست اما چون C زیرمجموعه ی ++C هست میتونی توش C بنویسی هیچ مشکلی هم نداری.

  10. #90
    اگه نباشه جاش خالی می مونه shadmehrdj's Avatar
    تاريخ عضويت
    Oct 2006
    محل سكونت
    Tehran
    پست ها
    203

    پيش فرض

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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •