| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2176 人关注过本帖
标题:由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出
只看楼主 加入收藏
angerzl
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2007-8-20
结帖率:100%
收藏
 问题点数:0 回复次数:9 
由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出
由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出


这段要怎么写啊,输出结果是什么样的???
哪位帮帮忙啊??

这段要怎么改呢???
#include "stdio.h"
#include "conio.h"

void main()
{
int i,j,a[3][4],b[4],min;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
b[i]=a[0][i];
for (i=0;i<4;i++)
for(j=1;j<2;j++)
if(a[i][j]<b[i]) b[i]=a[i][j];
for(i=0;i<4;i++)
printf("%d",b[i]);


    getch();
}

谁能帮我解释一下上面那段显示的结果??
搜索更多相关主题的帖子: 矩阵 元素 键盘 输出 输入 
2008-06-17 11:01
whhh223
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-6-17
收藏
得分:0 
~
我给你写了个
#include<stdio.h>
int main()
{
    int a[3][4],i,j,b[3];
    for(i=0;i<3;i++)
    {
       for(j=0;j<4;j++)   
         scanf("%d",&a[i][j]);
       printf("\n");
    }
    
    for(i=0;i<3;i++)
    {
        b[i]=a[i][0];
        for(j=0;j<4;j++)
        {
        
           if(b[i]>a[i][j])
              b[i]=a[i][j];
        }
        printf("%4d",b[i]);
    }
    printf("\n");
        
}
2008-06-18 11:42
whhh223
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-6-17
收藏
得分:0 
~
不好意思 搞错了 搞成求行的了 我在改下  呵呵
2008-06-18 11:50
whhh223
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-6-17
收藏
得分:0 
~
#include<stdio.h>
int main()
{
    int a[3][4],i,j,b[4];
    for(i=0;i<3;i++)
    {
       for(j=0;j<4;j++)   
         scanf("%d",&a[i][j]);
       printf("\n");
    }
    
    for(j=0;j<4;j++)
    {
        b[j]=a[0][j];
        for(i=1;i<3;i++)
        {
        
           if(b[j]>a[i][j])
              b[j]=a[i][j];
        }
        printf("%4d",b[j]);
    }
    printf("\n");
        
}
2008-06-18 11:55
crabeam
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-6-17
收藏
得分:0 
楼上写得 很好
2008-06-18 15:41
duduchang
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2008-5-6
收藏
得分:0 
错在这!
for (i=0;i<4;i++)
for(j=1;j<2;j++)
if(a[i][j]<b[i]) b[i]=a[i][j];
上面错了!
a[3][4];
你的i只能有三个值j有四个值;

下面是我想的!!
for(j=0;j<4;j++)
for(i=3;i<3;i++)
{
    if(b[j]>a[i][j]) b[j]=a[i][j];
}
2008-06-18 16:21
angerzl
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2007-8-20
收藏
得分:0 
谢谢各位,最近太忙,所以没及时回复
2008-06-28 15:19
我来学
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-6-27
收藏
得分:0 
这不是在求鞍点?
鞍点是求一行的最大,一的列最小
我们只需修改下就可以的到鞍点了
#include<stdio.h>
int main()
{
    int a[3][4],i,j,b[3];
Int flag=0;
    for(i=0;i<3;i++)
    {
       for(j=0;j<4;j++)   
         scanf("%d",&a[i][j]);
       printf("\n");
    }
   
    for(i=0;i<3;i++)
    {
        b[i]=a[i][0];
        for(j=0;j<4;j++)
          {
        
           if(b[i]<a[i][j])
              b[i]=a[i][j];
           }
       for (j=0;j<4;i++)
{  if(b[i]>a[i][j])
  { Flag=1;
    Break;   
}
}
    }
   if (flag=0)
{for (i=0;i<3;i++)
  For (j=0;j<4;j++)
Printf(“%d”,a[i][j])
}        
}
好像是这样的
我这边没有vc
不能测试
你们看看行不?
2008-06-28 17:35
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
不好,一个数组可能有很多鞍点

1 1 1 1
1 1 1 1
1 1 1 1
哈哈,抬杠。。
2008-06-28 18:22
coming
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2008-4-20
收藏
得分:0 
...呵呵
2008-06-29 01:01
快速回复:由键盘输入一个3×4矩阵a,选出各列最小的元素组成一个一维数组b并输出 ...
数据加载中...
 
   



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

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