zoukankan      html  css  js  c++  java
  • 第一次编程作业修改

    #include<iostream>
    #include<stdlib.h>
    #include<Eigen/Dense>
    #include<math.h>
    using namespace std;
    using Eigen::MatrixXd;
    MatrixXd exchange(char str[])
    {MatrixXd p(1,2);
    int i,j,k;
    char a[10];
    for(i=0;i<=20&&str[i]!='(';i++);//找到字符转换启示位置
    for(j=0;j<=20&&str[j]!=',';j++);//找到字符转换的终止位置
    for(k=0;k<=10&&i<j;k++){
    i++;
    a[k]=str[i]; // 字符转换
    }
    p(0,0)=atof(a);
    i=i+1;
    for(;j<=20&&str[j]!=')';j++);//第二段字符转换
    for(k=0;k<=10&&i<j;k++){
    i++;
    a[k]=str[i];
    }
    p(0,1)=atof(a);
    return p;
    }
    int main()
    {
    char name[10];
    int n;
    double deg;
    const float Pi=3.1415927;
    char str1[20];
    char str2[20];
    char str3[20];
    char str4[20];
    char str5[20];
    char str6[20];
    MatrixXd r(2,2);
    MatrixXd p1(1,2);
    MatrixXd p2(1,2);
    MatrixXd p3(1,2);
    MatrixXd p4(1,2);
    cout<<"请输入类型";
    cin>>name;
    cin>>n;
    switch(n)
    {
    case 1:
    cin>>str1;
    p1=exchange(str1);
    break;
    case 2:
    cin>>str1;
    p1=exchange(str1);
    cin>>str2;
    p2=exchange(str2);
    break;
    case 3:
    cin>>str1;
    p1=exchange(str1);
    cin>>str2;
    p2=exchange(str2);
    cin>>str3;
    p3=exchange(str3);
    break;
    default:cout<<"输入错误";
    }
    cout<<"请输入变换"<<endl;
    cin>>str4;
    if(str4[0]=='m'&&str4[1]=='o'&&str4[2]=='v'&&str4[3]=='e'&&str4[4]==0)
    {
    cin>>str5;
    cin>>str6;
    p4=exchange(str6);
    if(n==1)
    {
    p1=p1+p4;
    cout<<"("<<p1<<")"<<endl;
    }
    else if(n==2)
    {
    p1=p1+p4;
    p2=p2+p4;
    cout<<"("<<p1<<")"<<"("<<p2<<")"<<endl;
    }
    else
    {
    p1=p1+p4;
    p2=p2+p4;
    p3=p3+p4;
    cout<<"("<<p1<<")"<<"("<<p2<<")"<<"("<<p3<<")"<<endl;
    }
    }
    else if(str4[0]=='r'&&str4[1]=='0'&&str4[2]=='t'&&str4[3]=='a'&&str4[4]=='t'&&str4[5]=='e'&&str4[6]==0)
    {
    cin>>str5;
    cin>>deg;
    r(0,0)=cos(deg*Pi/180);
    r(0,1)=sin(deg*Pi/180);
    r(1,0)=-sin(deg*Pi/180);
    r(1,1)=cos(deg*Pi/180);
    if(n==1)
    {
    p1=p1*r;
    cout<<"("<<p1<<")"<<endl;
    }
    else if(n==2)
    {
    p1=p1*r;
    p2=p2*r;
    cout<<"("<<p1<<")"<<"("<<p2<<")"<<endl;
    }
    else
    {
    p1=p1*r;
    p2=p2*r;
    p3=p3*r;
    cout<<"("<<p1<<")"<<"("<<p2<<")"<<"("<<p3<<")"<<endl;
    }


    }
    else
    {cout<<"输出错误"<<endl;
    }
    return 0;
    }

  • 相关阅读:
    jquery flot详解
    AngularJS例子 ng-repeat遍历输出
    JS正则表达式
    jQuery Validate验证框架详解
    解决IE6下png图片不透明
    IT经理,你在这个位置吗
    如何做一个好的前端重构工程师
    noi1816 画家问题(技巧搜索Dfs)
    codevs1380 没有丧尸的舞会
    2016年春季大学先修课考试
  • 原文地址:https://www.cnblogs.com/martinyideng/p/5109333.html
Copyright © 2011-2022 走看看