zoukankan      html  css  js  c++  java
  • 离散实践1

     1 #include<iostream>
     2 using namespace std;
     3 void main()
     4 {
     5     int M,N,p,q,temp=1;
     6     char i,j;
     7     while(temp)            //控制程序是否要执行
     8     {
     9         cout<<"请输入你的选择temp:
    ";
    10         cout<<"您输入0时:不再运行程序,直接退出程序。
    ";
    11         cout<<"您输入1时:运行程序即输出二元关系矩阵。
    ";
    12         cin>>temp;
    13         switch(temp)
    14         {
    15         case 0:  temp=0;break;
    16         case 1:
    17             cout<<"请输入两个数组的大小M,N:"<<endl;
    18             cin>>M>>N;
    19             char *arr1=new char[M];
    20             char *arr2=new char[N];
    21             cout<<"请输入第一个集合arr1:"<<endl;
    22             for(p=0;p<M;p++)
    23             {
    24                 cin>>arr1[p];
    25             }
    26             cout<<"请输入第二个集合arr2:"<<endl;
    27             for(p=0;p<N;p++)
    28             {
    29                 cin>>arr2[p];
    30             }
    31             int** arr=new int*[M];//开辟一个动态二维数组,高M,宽N
    32             for(int K=0;K<M;K++)
    33             {
    34                 arr[K]=new int[N];
    35             }
    36             for(q=0;q<M;q++)//数组初始化全为0
    37             {
    38                 for( p=0;p<N;p++)
    39                 {
    40                     arr[q][p]=0;
    41                 }
    42             }
    43             cout<<"请输入二元关系以0结束"<<endl; //输入关系后,以输入0代表结束
    44             while(1)
    45             {    
    46                 cin>>i;
    47                 if(i=='0')
    48                     break;
    49                 else
    50                 {
    51                     cin>>j;
    52                     if(i>='a'&&i<='z'&&(j<'a'||j>'z'))
    53                     {
    54                         i=i-'0';//0的ascii码为48,a的ascii码是65,z的ascii码90
    55                         arr[(i-'0')-1][(j-'0')-1]=1;
    56                     }
    57                     if(j>='a'&&j<='z'&&(i<'a'||i>'z'))
    58                     {
    59                         j=j-'0';
    60                         arr[(i-'0')-1][(j-'0')-1]=1;
    61                     }
    62                     else if(i>='a'&&i<='z'&&j>='a'&&j<='z')
    63                     {
    64                         p=i-'0'-'0';
    65                         q=j-'0'-'0';
    66                         arr[p-1][q-1]=1;
    67                     }
    68                     else    
    69                         arr[(i-'0')-1][(j-'0')-1]=1;
    70                 }
    71             }
    72             cout<<"该二元关系的矩阵为:"<<endl;
    73             for(q=0;q<M;q++)
    74             {
    75                 for(p=0;p<N;p++)
    76                 {
    77                     cout<<arr[q][p]<<" ";
    78                 }
    79                 cout<<endl;
    80             }break;
    81         }
    82     }
    83 }
    #include<iostream>
    using namespace std;
    
    void output(int i,int j,int **a);
    void choose(int **arr);
    
    
    void main()
    {
        int M,N;
        //int M=0,N=0;
        //int *array1=new int[M];
        //int *array2=new int[N];
        cout<<"Please input sizes of array1 and array2: "<<endl;
        cin>>M>>N;
        int** arr=new int*[M];//开辟一个动态二维数组,高M,宽N
        for(int k=0;k<N;k++)
            arr[M]=new int[N];
        for(int i=0;i<M;i++)
        {
            for(int j=0;j<N;j++)
                arr[i][j]=0;
        }
            choose(arr);
            output(M,N,arr);
    }
    
    void output(int M,int N,int **arr)
    {
        for(int i=0;i<M;i++)
            for(int j=0;j<N;j++)
                cout<<arr[i][j]<<"-";
    }
    
    void choose(int **arr)
    {
        int i,j;
        cout<<"Please input the two relations:"<<endl;
        cin>>i>>j;
        arr[i][j]=0;
    }
    #include<iostream>
    using namespace std;
    
    void output(int i,int j,int **a);
    void choose(int **arr);
    
    
    void main()
    {
        int M,N,temp1,temp2;
        //int M=0,N=0;
        //int *array1=new int[M];
        //int *array2=new int[N];
    end:cout<<"Please enter 1(continue) or 2(break) to choose:"<<endl;
        cin>>temp1;
        switch(temp1)
        {
        case 1:
            {
                cout<<"Please input sizes of height and  "<<endl;
                cin>>M>>N;
                int** arr=new int*[M];//??????????,?M,?N
                for(int k=0;k<M;k++)
                arr[k]=new int[N];
                for(int i=0;i<M;i++)
                {
                  for(int j=0;j<N;j++)
                  arr[i][j]=0;
                }
                choose(arr);
                output(M,N,arr);
                cout<<"Please input number 1 to again or 2 to exit:"<<endl;
                cin>>temp2;
                switch(temp2)
                {
                case 1:
                    goto end;
                case 2:
                    exit(1);
                }
                system("pause");
            }
        case 2:
            break;
        }
    }
    
    void choose(int **arr)
    {
        int i,j;
        cout<<"Please input the two relations:"<<endl;
        cin>>i>>j;
        i--;
        j--;
        arr[i][j]=1;
    }
    
    void output(int M,int N,int **arr)
    {
        for(int i=0;i<M;i++)
        {
            for(int j=0;j<N;j++)
            {
                cout<<arr[i][j]<<"-";
            }
        cout<<endl;
        }
    }
  • 相关阅读:
    VS2008编译出现问题:error C2485: “__restrict”: 无法识别的扩展属性 解决办法
    精度试验结果报告Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter
    error C2872: 'ULONG_PTR' : ambiguous symbol
    无法删除文件:无法读源文件或磁盘”
    如何HOOK桌面窗口消息
    批处理常用特殊符号
    我的Hook学习笔记
    代码注入的三种方法
    Ubuntu 安装 “宋体,微软雅黑,WPS Office的symbol、wingdings、wingdings 2、wingdings 3、webding字体,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体(转)
    Delphi中如何将 Exe 程序或其他资料打包在内,使用时再释放使用(转)
  • 原文地址:https://www.cnblogs.com/Zblogs/p/3329222.html
Copyright © 2011-2022 走看看