标题:[求助]关于2维数组找数变形问题(紧急)
只看楼主
monarch
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-2-20
 问题点数:0 回复次数:3 
[求助]关于2维数组找数变形问题(紧急)

我身在国外,刚学编程半学期。老师出考试题刁难请求各位高手帮助
输入一个任意的2维数组A(X,Y)并用任意数字将此2维数组填满;再输入任意长度X2的1维数组B并用任意数字填满(但是2维数组与1维数组的对应项不能相等,如2维数组第2个数是3那么1维数组第2个数不能=3);要求输出如下:
将2维数组的每一个横行与X2中的数字比较,如果横行中的所有数字在1维数组X2中都有,那么将此横行中的所有数字显示为竖行,如果没有或不全则依然显示为横行。
如: 输入的2维数组 A(3,4) A={{1, 2, 3} ,{4,5,6},{7,8,9},{10,11,12}}
输入的1维数组B(5) B={2,8,7,11,9} 则输出 1 2 3
4 5 6
7
8
9
10 11 12

搜索更多相关主题的帖子: 找数 
2006-02-20 03:18
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

/*比较麻烦。希望大家指正*/
#include <stdio.h>
#include <conio.h>
#define M 4
#define N 3
#define L 5

void main()
{
int i,j,count=0,k;
int a[M][N],b[L];


printf("please input a[M][N]\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);

fflush(stdin); /*虽然有人对此有异议,但不加b[L]无法正常输入*/
printf("please input b[L]:\n"); /*已测试(XP,win-tc)*/
for(k=0;k<L;k++)
{

scanf("%d",&b[k]); /*此处输入要输入一次按一次回车,不可连续输入*/
count++;
j=(count%N)-1;
i=(count-j-1)/N;
if(b[k]==a[i][j])
{
k--;
count--;
printf("input the last one again:\n");
}

}

for(i=0;i<M;i++)
{
count=0;
for(j=0;j<N;j++)
for(k=0;k<L;k++)
if(a[i][j]==b[k])
{
count++;
break;
}
if(count!=N)
{
for(j=0;j<N;j++)
printf("%3d",a[i][j]);
printf("\n");
}
else
for(j=0;j<N;j++)
printf("%3d\n",a[i][j]);

}

getch();
}


楼主举例有问题,三行四列是那么赋值吗?你那是四行三列


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-02-20 05:58
天晶子剑
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2006-2-13
得分:0 
以下是引用feng1256在2006-2-20 5:58:00的发言:

楼主举例有问题,三行四列是那么赋值吗?你那是四行三列

是很复杂,好像没有问题,高手

2006-02-20 11:03
monarch
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-2-20
得分:0 
太感谢了,我将继续好好学习编程,在编程方面我还有很多东西都不懂以后还请大哥哥指点
2006-02-20 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-46247-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028743 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved