کمک پروژه ای

djmajic2006

New Member
سلام
من یه پروژه C داشتم
برنامه ای که یک معادله n*m را نوشته و حل کند
n معادله m مجهول
(با ماتریسها حل میشه)
مثلا اگر n=7 , m=6
7 مجهول وارد می کنیم x,y,z,t,...
3x+2y-3z+...=4
6x-2z+...... =2
.=...............

که طبق برنامه درایه های ماتریس را دستی وارد کنیم
 

ned_patomat

New Member
آقا منم ین برنامه رو با c یا c++ میخوام .قبلا یه تاپیک جدید زده بودم و دوستی در جواب گفته بودد در سایت جستجو کن.
من جستجو کردم اما به نتیجه ای نرسیدم.اگه میشه بیشتر راهنمایی کنید.(فوری فوری)
 

saalek110

Well-Known Member
پاسخ به ned_patomat :
من گفتم به شما.
منظورم این تاپیک بود که درش یک سایت معرفی شده.
http://forum.persiantools.com/t41503.html
بیش از این من چیزی سراغ نداشتم. تجربه ای هم ندارم. ولی اگر کمکی از دستم برمیاد بگید انجام بدهم.
 

sara_she

Member
كد برنامه رو برات مي گذارم. حلش با استفاده از روش گوس سيدل است و خودم نوشتمش با كمك كتاب محاسبات عددي

روش حل هم اينه كا ماتريس معادله رو مي نويسي به صورت مربعي مي شه چون معادله تعداد معادلات و مجهولاتش برابره. بعد يه ستون آخر ماتريس برا جوابها مي گذاري . بعد از كامل شده ماتريس سعي مي كني كه رديف به رديف عناصر قطر اصلي رو 1 و بقيه عناصر رو صفر كني به جز عناصر ستون آخر . چيزي كه در اخر برنامه در ستون انتهايي مي مونه جواب هاي معادله است

کد:
#include <stdio.h>
#include <conio.h>

int main()
{
  /* DEFINE PARAMETER*/
  int i,j,k,f,n ;
  float a[100][100],b[100];

  printf("\n\n\t << this program obtain solutions of  problem with Gauss_Jordan >>");
  printf("\n\nenter degree of equation :");
  scanf ("%d",&n);
  for (i=0 ; i<n ; i++)
   {
    printf("\nenter coefficient of  equation %d ...\n",i+1);
   for (j=0; j<n ; j++)
    {
     printf("a[%d][%d]=",i+1,j+1);
     scanf("%f",&a[i][j]);
    }
   }
    printf("\nenter reply of equation ...\n");
   for (i=0;i<n;i++)
    {
     printf("b[%d]=",i);
     scanf("%f",&b[i]);
    }
    //printf("****%d*****\n",n);
    for(i=0;i<n;i++)
     a[i][n]=b[i];
     printf("\n you entered :\n");
   for (i=0;i<n;i++)
     {
       for(j=0;j<n+1;j++)
          {
            printf("%.1f",a[i][j]);
            printf("\t");
          }
          printf("\n");
      }
    for (i=0 ; i<n ; i++)
     {
       for(j=0 ; j<n+1 ; j++)
        {
          if (j!=i)
            a[i][j]=a[i][j]/a[i][i];
        }
        a[i][i]=1;

       for( f=0 ; f<n ; f++)
        {
         for( k=i ; k<n+1 ; k++)
          {
            if (( f!=i) && (k!=i))
             a[f][k]=a[f][k]-(a[f][i]*a[i][k]);
          }
          if (i!=f)
          a[f][i]=0;
        }
      }

      printf("\n\nmatrix of Gauss_Jordan is:\n");
       for (i=0;i<n;i++)
        {
          for(j=0;j<n+1;j++)
           {
            printf("%.1f",a[i][j]);
            printf("\t");
           }
          printf("\n");
        }

       printf("\n\n** result of this equation is: **\n\n");
      for (i=0;i<n;i++)
       printf("x%d = %.1f\n",i,a[i][n]);
       
     getch();
	  return 0;
   }

براي حل اول درجه معادله رو وارد مي كني و بعد ضرائب رو معاله به معادله و در نهايت جوابها رو وارد مي كني
 

ned_patomat

New Member
sara_she عزیز واقعا ممنونم که برنامه رو واسم گذاشتی و من نمیدونم با چه زبونی ازت تشکر کنم.
ممننننننننننننننننننننننننننننووووووووننننننننننننننننننننننمممممممممممم.
 

sara_she

Member
خواهش مي كنم

اگه مشكلي در برنامه يا اجراش داشتي منو در جريان بذار
موفق باشي
 

جدیدترین ارسال ها

بالا