zoukankan      html  css  js  c++  java
  • 离散实验程序代码3

     1 //A,B,C的排列
     2 #include <iostream>
     3 using namespace std;
     4 void main(void){
     5     char k=65;
     6     int line,n=1;
     7     cout<<"请输入你所需要的行数:";
     8     cin>>line;
     9     
    10     for(int a=1 ;a<=line;a++)
    11     {
    12         for(int b=1 ;b<=2*n-1;b++)
    13         {cout<<k;}
    14             
    15             
    16             k++;
    17             n++;
    18             cout<<endl;
    19         }
    20             
    21     }
      1 //离散实验3作业源程序.cpp
      2 #include<iostream>
      3 using namespace std;
      4 
      5 int main()
      6 {
      7     int m, n, i, j, k;
      8     cout << "Please input m and n:" << endl;
      9     cin >> m >> n;
     10 
     11     int *arr = new int[n];
     12     int **arr1 = new int *[n];
     13     for (i = 0; i < n; i++)
     14         arr1[i] = new int[n];
     15     int *arr2 = new int[m];
     16     int **arr3 = new int*[m];
     17     for (i = 0; i < m; i++)
     18         arr3[i] = new int[m];
     19     int **arr4 = new int*[n];
     20     for (i = 0; i < n; i++)
     21         arr4[i] = new int[n];
     22 
     23     cout << "Please input " << n << " numbers:" << endl;
     24     for (i = 0; i < n; i++)
     25         cin >> arr[i];
     26     cout << "Please input " << n << " numbers:" << endl;
     27     for (j = 0; j < m; j++)
     28         cin >> arr2[j];
     29 
     30     for (i = 0; i < n; i++)
     31         for (j = 0; j < n; j++)
     32         {
     33             if (arr[i] > arr[j])
     34                 arr1[i][j] = 1;
     35             else
     36                 arr1[i][j] = 0;
     37         }
     38         for (i = 0; i < m; i++)
     39             for (j = 0; j < m; j++)
     40             {
     41                 if (arr2[i] > arr2[j])
     42                     arr3[i][j] = 1;
     43                 else
     44                     arr3[i][j] = 0;
     45             }
     46             cout << "矩阵arr1的逆矩阵为:" << endl;
     47             for (i = 0; i < n; i++)
     48             {
     49                 for (j = 0; j < n; j++)
     50                 {
     51                     cout << arr1[j][i] << " ";
     52                 }
     53                 cout << endl;
     54             }
     55             cout << "矩阵arr3的逆矩阵为:" << endl;
     56             for (i = 0; i < n; i++)
     57             {
     58                 for (j = 0; j < n; j++)
     59                 {
     60                     cout << arr3[j][i] << " ";
     61                 }
     62                 cout << endl;
     63             }
     64 
     65             cout << "矩阵arr1和arr3的布尔乘积为:" << endl;
     66             for (i = 0; i < n; i++)
     67                 for (j = 0; j < n; j++)
     68                     for (k = 0; k < m; k++)
     69                     {
     70                         if (arr1[i][k] * arr3[k][j] == 1)
     71                             arr4[i][j] = 1;
     72                         else
     73                             arr4[i][j] = 0;
     74                     }
     75                     for (i = 0; i < n; i++)
     76                     {
     77                         cout << endl;
     78                         for (j = 0; j < m; j++)
     79                             cout << arr4[i][j] << " ";
     80                     }
     81                     cout << endl;
     82                     cout << "矩阵arr1 Warshall算法实现程序:" << endl;
     83                 
     84                     for (k = 0; k <n; k++)
     85                         for (i =0; i < n; i++)
     86                         {
     87                             if (arr1[i][k] == 1)
     88                                 for (j = 0; j <m; j++)
     89                                 {
     90                                     if (arr1[k][j] == 1)
     91                                         arr1[i][j] = 1;
     92                                 }
     93                         }
     94                         
     95                         for (k = 0; k < n; k++)
     96                             for (i = 0; i < n; i++)
     97                             {
     98                                 if (arr3[i][k] == 1)
     99                                     for (j = 0; j < m; j++)
    100                                     {
    101                                         if (arr3[k][j] == 1)
    102                                             arr3[i][j] = 1;
    103                                     }
    104                             }
    105 
    106 
    107                     for (i = 0; i < n; i++)
    108                     {
    109                         for (int j = 0; j < n; j++)
    110                             cout << arr1[i][j] << " ";
    111                         cout << endl;
    112                     }
    113                     cout << endl;
    114                     for (i = 0; i < n; i++)
    115                     {
    116                         for (int j = 0; j < n; j++)
    117                             cout << arr3[i][j] << " ";
    118                         cout << endl;
    119                     }
    120 }
      1 //参考代码.cpp
      2 #include<iostream>
      3 
      4 using namespace std;
      5 void strMatrix(int *a1, int **a2, int n);
      6 void output(int **a2, int n);
      7 int main()
      8 {
      9     int n, i, c, d;
     10     cout << "How many numbers do you want to input:" << endl;
     11     cin >> n;
     12     int *arr1 = new int[n];
     13     int **arr2 = new int*[n];
     14     for (i = 0; i < n; i++)
     15         arr2[i] = new int[n];
     16     cout << "Please input the numbers:" << endl;
     17     for (i = 0; i < n; i++)
     18         cin >> arr1[i];
     19     cout << "Please input the ralations:" << endl;
     20     cin >> c;
     21     cin >> d;
     22     strMatrix(arr1, arr2, n);
     23     output(arr2, n);
     24 }
     25 void strMatrix(int *a1, int **a2, int n)
     26 {
     27     for (int i = 0; i < n; i++)
     28         for (int j = 0; j < n; j++)
     29         {
     30             if (a1[i] % a1[j] == 0)
     31                 a2[i][j] = 1;
     32             else
     33                 a2[i][j] = 0;
     34         }
     35 }
     36 void output(int **a2, int n)
     37 {
     38     for (int i = 0; i < n; i++)
     39     {
     40         for (int j = 0; j < n; j++)
     41             cout << a2[i][j] << " ";
     42         cout << endl;
     43     }
     44 }
     45 
     46 void zfx(int a[M][M], int n)
     47 {
     48     int i = 0, vale1 = 1, vale2 = 1;/*vale1确定关系的自反性,vale2
     49                                     判断关系的反自反性*/
     50     while (i < n)
     51     {
     52         if (a[i][i] == 1) vale2 = 0;
     53         else vale1 = 0;
     54         i++;
     55     }
     56     if (vale1 == 1) printf("zfx
    ");
     57     if (vale2 == 1) printf("fzfx
    ");
     58     if (!(vale1) && !(vale2)) printf("wzfxywfzfx
    ");
     59 }
     60 void dcx(int a[M][M], int n)
     61 {
     62     int i, j, vale3 = 1, vale4 = 1;/*vale3确定关系的对称性,vale4
     63                                    判断关系的反对称性*/
     64     for (i = 0; i < n; i++)
     65         for (j = 0; j < i; j++)
     66             if (a[i][j] == a[j][i])
     67                 vale4 = 0;
     68             else vale3 = 0;
     69             if (vale3 == 1) printf("dcx
    ");
     70             if (vale4 == 1) printf("fdcx
    ");
     71             if (!(vale3) && !(vale4)) printf("wdcx wfdcx
    ");
     72 } void cdx1(int a[M][M], int n)/*用MM ⊆2 算法来判断传递 性*/
     73 {
     74     int b[M][M], i, j, k, vale = 1;
     75     for (i = 0; i < n; i++)
     76         for (j = 0; j < n; j++)
     77         {
     78             b[i][j] = 0;
     79             for (k = 0; k < n; k++)
     80                 b[i][j] += a[i][k] * a[k][j];/*计算 2M */
     81         }
     82         for (i = 0; i < n; i++)
     83             for (j = 0; j < n; j++)
     84                 if (b[i][j] != 0)
     85                     b[i][j] = 1;
     86         for (i = 0; i < n; i++)
     87             for (j = 0; j < n; j++)
     88                 if (b[i][j] == 1)
     89                     if (a[i][j] != b[i][j])
     90                         vale = 0;
     91         if (vale)
     92             printf("ycdx
    ");
     93         else   
     94             printf("wcdx
    ");
     95 }
     96 void cdx2(int a[M][M], int n)/*用warshall算法来求传递闭
     97                              包数组b */
     98 {
     99     int b[M][M], i, j, k, vale = 1;
    100     for (i = 0; i < n; i++)
    101         for (j = 0; j < n; j++)
    102             b{ [i][j] = a[i][j];
    103     for (k = 0; k < n; k++)
    104         i{ (f a[i][j] && (a[i][k] || a[j][k]))
    105         b[i][k] = 1;
    106     }
    107     }
    108     for (i = 0; i < n; i++)     /* 判断数组a和b相等 */
    109         for (j = 0; j < n; j++)
    110             (iaf[i][j] != b[i][j])
    111         {
    112             vale = 0; break;
    113         }
    114         if (vale == 1) printf("cdx
    ");
    115         else printf("wcdx
    ");
    116 }
  • 相关阅读:
    jquery easy ui 学习 (8)basic treegrid
    jquery easy ui 学习 (7) TreeGrid Actions
    jquery easy ui 学习 (6) basic validatebox
    jquery easy ui 学习 (5) windowlayout
    jquery easy ui 学习 (4) window 打开之后 限制操纵后面元素属性
    提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll
    visual studio 添加虚线的快捷键
    VS2010打开项目时,出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案
    visual studio 编译时 出现 Files 的值 乱码
    微信 连接被意外关闭
  • 原文地址:https://www.cnblogs.com/Zblogs/p/3385271.html
Copyright © 2011-2022 走看看