Advertisement
Jgug

MZ

May 9th, 2012
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <iostream.h>
  2. #include <iomanip.h>
  3. #include <math.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. double a[100][100], b[100], x[100], eps, rel;
  8. int i, j, k, size;
  9.  
  10. int main()
  11. {
  12. //==Vvod_dannich==================================|
  13.     cout<<"Vvedite razmernosy': "<<endl;
  14.     cin>>size;
  15.     cout<<"Vvedite trebyemtu tochnost': "<<endl;
  16.     cin>>eps;
  17.     cout<<"Vvedite elenenti massiva:"<<endl;
  18.     for (i=0; i<size; i++)
  19.     {
  20.         for (j=0; j<size; j++)
  21.         {
  22.             cout<<"a["<<i+1<<"]["<<j+1<<"]=";
  23.             cin>>a[i][j];
  24.             cout<<endl;
  25.         }
  26.     }
  27.     cout<<"Vvedite svobodnie chleni:"<<endl;
  28.     for (i=0; i<size; i++)
  29.     {
  30.         cout<<"b["<<i+1<<"]="<<endl;
  31.         cin>>b[i];
  32.     }
  33.     cout<<"Vvedennie dannie:"<<endl;
  34.     cout<<"_________________________"<<endl;
  35.     for (i=0; i<size; i++)
  36.     {
  37.         for (j=0; j<size; j++)
  38.         {
  39.             cout<<setw(3)<<a[i][j]<<" ";
  40.         }
  41.         cout<<setw(3)<<"|"<<setw(2)<<b[i]<<endl;
  42.     }
  43.     for (i=0; i<size; i++)
  44.     {
  45.         x[i]=0;
  46.     }
  47. //==MZ============================================|
  48.     double sum1, sum2, xN, m;
  49.     int count=0;
  50.     do
  51.     {
  52.         m=0;
  53.         for (i=0; i<size; i++)
  54.         {
  55.             sum1=sum2=0;
  56.             for (j=0; j<i; j++)
  57.             {
  58.                 sum1 += a[i][j]*x[j];
  59.             }
  60.             for (j=i; j<size; j++)
  61.             {
  62.                 sum2 += a[i][j]*x[j];
  63.             }
  64.             xN = x[i];
  65.             x[i] -= (sum1+sum2-b[i])/a[i][i];
  66.             if (fabs(xN-x[i])>m)
  67.             {
  68.                 m=fabs(xN-x[i]);
  69.             }
  70.         }
  71.         count++;
  72.     }
  73.     while (m>eps);
  74.     if (m<eps)
  75.     {
  76.         for (i=0; i<size; i++)
  77.         {
  78.             printf("%f\n",x[i]);
  79.         }
  80.     }
  81.     cout<<count<<" iteracsii"<<endl;
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement