嵌入式

编程与应用
posts - 14, comments - 1, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

#include<iostream>
using namespace std;

#define n 3
int main()
{
 
int i,j,k;double m;
 
double a[n][n],E[n][n];

 
//单位矩阵E[n][n]
 for(i=0;i<n;i++){
     
for(j=0;j<n;j++){
         
if(i==j)
             E[i][j]
=1;
         
else
             E[i][j]
=0;
     }

}

 
//输入矩阵a[n][n]
 cout<<"输入矩阵:"<<endl;
 
for(i=0;i<n;i++)
  
for(j=0;j<n;j++)
   cin
>>a[i][j];

//上三角变换
 for(k=0;k<n-1;k++){
  
for(i=k+1;i<n;i++){
   m
=a[i][k]/a[k][k];
   
for(j=0;j<n;j++){
    a[i][j]
=a[i][j]-m*a[k][j];
    E[i][j]
=E[i][j]-m*E[k][j];
   }

  }

 }

 
//下三角变换
 for(k=n-1;k>0;k--){
     
for(i=k-1;i>=0;i--){
         m
=a[i][k]/a[k][k];
         
for(j=0;j<n;j++){
             a[i][j]
=a[i][j]-m*a[k][j];
             E[i][j]
=E[i][j]-m*E[k][j];
         }

     }

 }

//单位矩阵……
 for(i=0;i<n;i++)
     
for(j=0;j<n;j++){
         E[i][j]
=E[i][j]/a[i][i];
     }


 
//输出矩阵的逆
 cout<<"矩阵的逆是:"<<endl;
for(i=0;i<n;i++){
    
for(j=0,k=0;j<n;j++){
        cout
<<E[i][j]<<"\t";k++;
        
if(k==n)
            cout
<<endl;
    }

}

}





posted @ 2010-04-17 10:55 陈显锋 阅读(774) | 评论 (1)编辑 收藏

     摘要:   #ifndef POLYNOMINAL_CLASS#define POLYNOMINAL_CLASS#include<iostream>using namespace std;class Term{private:    int coef;  &nbs...  阅读全文

posted @ 2010-04-14 21:11 陈显锋 阅读(1317) | 评论 (0)编辑 收藏

 1#include<iostream>
 2#include<stack>
 3#include<math.h>
 4using namespace std;
 5#include<ctype.h>
 6
 7stack<float> s;
 8stack<char> cs;
 9
10int isp(char optr) 
11
12    switch (optr) 
13    
14    case '='return 0
15    case '('return 1
16    case '^'return 7
17    case '*'return 5
18    case '/'return 5
19    case '%'return 5
20    case '+'return 3
21    case '-'return 3
22    case ')'return 8
23    defaultreturn 0
24    }
 
25}
 
26
27int icp(char optr) 
28
29    switch (optr)
30    {
31    case '='return 0
32    case '('return 8
33    case '^'return 6
34    case '*'return 4
35    case '/'return 4
36    case '%'return 4
37    case '+'return 2
38    case '-'return 2
39    case ')'return 1
40    defaultreturn 0
41    }
 
42}
 
43
44
45void DoOperator(char oper)
46{
47    float oper1,oper2;
48    oper1=s.top();
49    s.pop();
50    oper2=s.top();
51    s.pop();
52    switch(oper)
53    {
54        case '+':s.push(oper2+oper1);break;
55        case '-':s.push(oper2-oper1);break;
56        case '*':s.push(oper2*oper1);break;
57        case '/':s.push(oper2/oper1);break;
58        case '^':s.push(pow(oper2,oper1));break;
59    }

60}

61
62void Run()
63{
64    char c;float newop;char y;
65    cs.push('=');
66    while(cin>>c,c!='=')
67        //if(c!='+'&&c!='-'&&c!='*'&&c!='/')
68        if(isdigit(c)||isalpha(c))
69        {
70            cin.putback(c);cin>>newop;
71            s.push(newop);
72        }

73        else if(c==')')
74            for(y=cs.top(),cs.pop();y!='(';y=cs.top(),cs.pop())
75                DoOperator(y);
76        else
77        {
78            for(y=cs.top(),cs.pop();icp(c)<=isp(y);y=cs.top(),cs.pop())
79                DoOperator(y);
80            cs.push(y);cs.push(c);
81        }

82    }

83    while(!cs.empty()){
84        y=cs.top();
85        cs.pop();
86        if(y!='=')
87            DoOperator(y);
88    }

89    cout<<s.top();
90}

91
92int main()
93{
94    Run();
95}

96

posted @ 2010-04-14 21:06 陈显锋 阅读(581) | 评论 (0)编辑 收藏

仅列出标题
共2页: 1 2