/*An,m是一个n行m列的矩阵;Aij表示A的第i行j列的元素;定义xij为A的
第i行和第j列除了ai,j之外所有元素(共n+m-2个)的乘积,即xi,j=ai,1*ai,2*...*ai,j-1
..*ai,m*a1,j*a2,j...*ai-1,j*ai+1,j...*an,j现输入非负整形的矩阵An,m求MAX(xi,j),即所有xi,j中的最大值。
输入描述:第一行两个整数n和m。之后n行输入矩阵,均为非负整数
实例:
输入:3 5
5 1 8 5 2
1 3 10 3 3
7 8 5 5 16
输出:358400*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int n,m;//n是行数,m是列数
int count(int(*arr)m,int n,int m,int subi,int subj)
{
int ret=1;
for(int i=0;i<n;i++)
{
if(i!=subi)
{
ret*=arrisubj;
}
}
for(int j=0;j<m;j++)
{
if(j!=subj)
{
ret*=arrsubij;
}
}
return ret;
}
int main(int argc,const char * argv\[\])
{
printf("请输入行数和列数\n");
scanf("%d %d",&n,&m);
int arrnm;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("请输入第%d行第%d个元素为:\n",i+1,j+1);
scanf("%d",&arrij);getchar();
}
}
int max=count(arr,n,n,0,0);
int temp;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(0==i&&0==j)
break;
temp=count(arr,n,m,i,j);
if(temp>max)
max=temp;
}
}
printf("最大值为:%d\n",max);
return 0;
}
逻辑题(重点!)
像鱼4702023-07-22 23:10
相关推荐
小蒋学算法7 小时前
算法-乘法表中第K小的数-二分智者知已应修善业7 小时前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19Evand J7 小时前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可插件开发8 小时前
矢量路径运算如何选GPU技术?——适用算法对比及OpenGL/Direct3D/CUDA选型指南c++之路8 小时前
C/C++ 全链路编译工具汇总8Qi88 小时前
LeetCode 72:编辑距离(Edit Distance)—— 题解SoftLipaRZC8 小时前
顺序表的应用:通讯录项目与经典算法实战8Qi88 小时前
LeetCode 583. 两个字符串的删除操作tigershang8 小时前
卡尔曼滤波:不确定世界中的最优估计凡人叶枫8 小时前
Effective C++ 条款02:宁可以编译器替换预处理器