//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
//
#include "stdio.h"
#include <stdlib.h>
int main()
{
int i,j,k,hang=,lie=;
printf("输入行");
scanf("%d",&hang);
printf("输入列");
scanf("%d",&lie);
printf("请输入该矩阵的元素,行内左至右顺序输入,行间上至下顺序输入,按回车完成一个元素的输入:\n");
int zong=hang*lie; int *a;
a=(int *) malloc (zong * sizeof(int));
printf("请输入 %d 个元素: ", zong);
for (i = ; i < zong; i++)
scanf("%d", &a[i]);
printf("\b \n"); int **data; data = (int **) malloc (hang * sizeof(int *));
for(int j=;j<hang;j++)
{
data[j] = (int *)malloc(lie*sizeof(int));
}
for (int k=,i=;k<hang;k++)
{ for (int j=;j<lie;j++)
{ data[k][j]=a[i];
i++; }
}
free(a); int *rmax;
rmax=(int *) malloc (hang * sizeof(int)); for(k=;k<hang;k++)
{
rmax[k]=;
for(j=;j<lie;j++)
{ if(data[k][j]>=rmax[k])
{
rmax[k]=data[k][j]; }
} }
int*cmin;
cmin=(int *) malloc (lie * sizeof(int)); for(j=;j<lie;j++)
{
cmin[j]=;
for(k=;k<hang;k++)
{
if(k==)
cmin[j]=data[k][j];
if(data[k][j]<=cmin[j])
{
cmin[j]=data[k][j];
}
} } for(j=;j<hang;j++)
for(k=;k<lie;k++)
{
if(rmax[j]==cmin[k])
printf("data[%d][%d]=%d\n",j+,k+,rmax[j]);
}//这里要用到循环比较,下面这样不行 // if(rmax[k]==cmin[j])
// printf("data[%d][%d]=%d\n",k+1,j+1,rmax[k]);
// else
// printf("It is not exist!\n"); for (i=;i<hang;i++)
{
free(data[i]);
}
free(data);
system("pause");
}

c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点的更多相关文章

  1. C语言复习---找出一个二维数组的鞍点

    前提: 求任意的一个m×n矩阵的鞍点——鞍点是指该位置上的元素在该行上为最大.在该列上为最小, 矩阵中可能没有鞍点,但最多只有一个鞍点. m.n(<=m<=.<=n<=)及矩阵 ...

  2. C语言程序,找出一个二维数组的鞍点。

    什么是鞍点????? 鞍点就是在一个二维数组中,某一个数在该行中最大,然而其在该列中又是最小的数,这样的数称为鞍点. 昨天突然在书上看到这样的一道题,就自己尝试着写了一个找出一个二维数组中的鞍点. 好 ...

  3. 找出一个二维数组中的"鞍点",即该位置上的元素在该行中最大,在该列中最小(也可能没有"鞍点"),打印有关信息.(提示:注意特殊情况:没鞍点或多个鞍点)

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { ][] = {}; ;i < ...

  4. 如何用一个for循环打印出一个二维数组

    思路分析: 二维数组在内存中默认是按照行存储的,比如一个二维数组{{1,2,3,},{4,5,6}},它在内存中存储的顺序就是1.2.3.4.5.6,也就是说,对于这6个数组元素,按照从0到5给它们编 ...

  5. 计算机二级-C语言-程序设计题-190119记录-求出一个二维数组每一列的最小值。

    //编写一个函数:tt指向一个M行N列的二维数组,求出二维数组每列中最小的元素,并依次放入pp所指的一维数组中.二维数组中的数在主函数中赋予. //重难点:求出的是每一列的最小值,这里要注意,学会简化 ...

  6. C#编写程序,找一找一个二维数组中的鞍点

    编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该列上最小.有可能数组没有鞍点).要求: 1.二维数组的大小.数组元素的值在运行时输入: 2.程序有友好的提示信息. 代码: us ...

  7. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组

    13.10 Write a function in C called my2DAlloc which allocates a two-dimensional array. Minimize the n ...

  8. 论C语言中二级指针和二维数组之间的区别

    刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组.很显然这是错误的. 我们来看看C语言的数组在内存中的存储方式. 实际上C语言中的数组, ...

  9. ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 112[ ...

随机推荐

  1. SQL Server 2008 R2如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...

  2. 05JS高级 方法没有块级作用域

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. Javascript Number类型常见迷惑点

    1:NaN(Not a Number) 表示一个本来要返回数值的操作数没有返回数值的情况.在ECMAscript中,任何数除以0会返回NaN[ps:实际上只有0/0会返回NaN],正(负)数除以0会返 ...

  4. Eclipse使用git 上传代码至github

    右击项目,选择Team->Share Project,弹出如下窗口. 选择git,next,在弹出的界面上,①先勾选Use or create……,②createrepository,③勾选工程 ...

  5. WPF(MultiTrigger)

    原文 http://blog.csdn.net/haifengzhilian/article/details/8822098 <Window x:Class="TestResource ...

  6. Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解

    原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使 ...

  7. 通过jpegoptim批量压缩文件

    #!/bin/sh filelist=$(ls) for file in $filelist do if [ -d $file ] then du -h $file /usr/local/bin/jp ...

  8. windows、linux创建子进程

    在windows下创建子进程较常用到的API就是CreateProcess,可以通过以下的方式启动一个新进程: STARTUPINFO si = {0};                 PROCES ...

  9. nodejs学习笔记-1

    nodejs入门-安装 nodejs是什么,刚接触了一段时间,我自己也说不清楚它.按我个人的简单理解,nodejs就是一个javascript的解析器,它让javascript不在局限于浏览器客户端. ...

  10. C++ 之再继续

    1C++函数重载,内联函数(for程序性能优化),函数递归