注册 登录
编程论坛 C++教室

C++程序将二维数组(五行五列)的右上部分置零怎么做?

妃子笑荔枝 发布于 2016-10-30 10:32, 4217 次点击
如下文:

1  2  3  4  5             1  0  0  0  0
6  7  8  9  10            6  7  0  0  0
11 12 13 14 15            11 12 13 0  0
16 17 18 19 20            16 17 18 19 0
21 22 23 24 25    变成    21 22 23 24 25
7 回复
#2
炎天2016-10-30 10:47
是简单的置零么, 不是行列式计算?
#3
rjsp2016-10-30 10:53
列号 大于 行号 的,置零
#4
炎天2016-10-30 11:14
#include<stdio.h>
#include<iostream>
#include<iomanip>
using namespace std;
 main()
 {
     int a[30][30],b[30][30];
     int i,j,k,l=1;
     cout<<"原二维数组:"<<endl;
     for(i = 1; i < 6; i ++)
     {
         for(j = 1 ; j < 6 ; j ++)
         {
             a[i][j]=l;
             b[i][j]=a[i][j];
             if(j > i)
             {
                 b[i][j]=0;
             }
             printf("%4d",a[i][j]);
             l++;
             if(j % 5==0) printf("\n");
         }
     }
     cout<<"现二维数组:"<<endl;
     
     for(i = 1; i < 6; i++)
      for(j = 1; j < 6; j++)
       {
           cout<<setw(4)<<b[i][j];
           if(j % 5==0) cout<<'\n';
       }
     
     return 0;
 }

[此贴子已经被作者于2016-10-30 12:05编辑过]

#5
bccn2502016-10-30 13:35
这程序的目的是什么?

矩形的对角切割?

还是矩形右上角切出一个最大的等腰三角?

还是正方形的对角切割?


[此贴子已经被作者于2016-10-30 13:38编辑过]

#6
yangfrancis2016-10-30 21:40
3楼正解
data[row][col]=(data[row][col])*(row>=col);
#7
妃子笑荔枝2016-11-01 16:54
回复 2楼 炎天
是置零。
#8
妃子笑荔枝2016-11-01 17:04
谢谢大神!
1