求助:判断二维数组各行列元素是否全不相等的算法

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:22:37
比如我现在能够随机生成一个3X3的数组,并且每个元素都只能是1,2,3.现在怎样才能写一个算法判断每行(每列)元素各不相同?仅当满足条件时才输出这个数组.
程序的大体框架是这样,????的地方不知道怎么写
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,a[3][3];
qwe: for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=rand()%3+1; //随机生成3*3数组
????
if(????){ //若条件满足,输出数组
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
else goto qwe; //若条件不满足,返回重新生成数组
}

比如说
2 1 3
1 3 2
3 2 1
这个数组就满足各行列元素不相等,判断条件满足后将它输出.
越简单越好,各位帮帮忙,谢谢~
yipian_yezi,匿名
二位的方法我都试过了,没有运行结果..
回yipian_yezi:
加循环了,你看我的题目goto那里就是最外层循环了..

#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,a[3][3],m=0,s;
qwe:for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=rand()%3+1; //随机生成3*3数组
for (i=0;i<3;i++)
{s=0;
for (j=0;j<3;j++) s+=a[i][j];
if (j!=6) m=1;
}
if(m==0){ //若条件满足,输出数组
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
else goto qwe; //若条件不满足,返回重新生成数组
}

这个简单
判断每行的值和为6 ,每列为6就输出
int xx=0;
for (i=0;i<3;i++)
{s=0;
for (j=0;j<3;j++) s+=a[i][j];
if (j!=6) xx=1;
}
if xx==0 输出
没结果表示不满足条件嘛,
在外面加一个循环,只要没有输出,一直执行就行了

#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,a[3][3], flag = 1;
qwe: for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=rand()%3+1; //随机生成3*3数组

flag

求助:判断二维数组各行列元素是否全不相等的算法 帮我查下错:将一个二维数组和列的元素互换,存到另一个二维数组中! 输入一个三行四列的矩阵,求出所有元素的平均数(整形、二维数组) 找出二维数组中最大元素,以及其所在的行标,列标。 java编程:5行5列二维数组,求其中主对角线上元素之和 找出一个二维数组中的鞍点,即该位置上的元素在行是最大,在该列是最小。也可能没有鞍点。 谁能帮我用VB语言编写一个程序,这个程序要求是随机产生5行5列的二维数组判断是否有鞍点? 求4×3二维数组中,数组元素是奇数的所有元素之和。要求用调用函数来实现。 C++求解二维数组的最大元素 二维数组元素个数的算法