用c++编程找到一个3*3二维数组的鞍点 编写程序 找出一个二维数组中的鞍点

作者&投稿:壤心 (若有异议请与网页底部的电邮联系)
#include<iostream>
using namespace std;
int main()
{
    int a[3][3],i,j,*max[3],*min[3],m,c;
    cout<<"输入一个3*3的矩阵:
";
    for (i=0;i<3;i++)
        for (j=0;j<3;j++)
            cin>>a[i][j];
    for (i=0;i<3;i++)
    {
        max[i]=&a[i][0];
        for (j=0;j<3;j++)
        {
            if (*max[i]<a[i][j])
                max[i]=&a[i][j];
        }
    }
  
    for(j=0;j<3;j++)
    {
        min[j]=&a[0][j];
        for(i=0;i<3;i++)
        {
            if (*min[j]>a[i][j])
                min[j]=&a[i][j];
        }
    }
    c=0;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            if (max[i]==min[j] && *max[i]==*min[j])
            {
                m=i+1;
                n=j+1;
                c++;
                cout<<"鞍点为:"<<*max[i]<<"位置:("<<m<<","<<n<<")"<<endl;
                return;
        }
        if (c==0)
            cout<<"该矩阵无鞍点!
";
        return 0;
}


C++,编程找出一个二维数组的鞍点,如果没有,又要输出相应的信息。~

#includeusing namespace std;void main(){ int a[3][3],i,j,*max[3],*min[3],m,n,c;cout>n; cout>a[i][j];for (i=0;ia[i][j])min[j]=&a[i][j];} }c=0; for(i=0;i<=n-1;i++) for(j=0;j<=n-1;j++) if (max[i]==min[j] && *max[i]==*min[j]){m=i+1;n=j+1;c++;cout<<"鞍点为:"<<*max[i]<<"位置:("<<m<<","<<n<<")"<<endl;return; } if (c==0) cout<<"该矩阵无鞍点!
";}

#include
#define N 4
#define M 5
void main()
{ int i,j,k,a[N][M],max,maxj,flag;
printf("please input matrix:
");
for(i=0;i<N;i++)
for(j=0;j<M;j++) scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{ max=a[i][0]; maxj=0;
for(j=0;j<M;j++)
if(a[i][j]>max) { max=a[i][j]; maxj=j; }
flag=1;
for(k=0;k<N;k++)
if(max>a[k][maxj]) { flag=0; continue; }
if(flag)
{printf("a[%d][%d]=%d
",i,maxj,max); break;} }
if(!flag) printf("Tt is not exist!
"); }

用C语言定义一个3*3的二维数组,编写一个程序查找并输出此二
答:include<stdio.h>int main(){ int nums[3][3]={{8,9,3},{6,5,4},{2,1,9}}; int i,j,cloSum[3]={0},rowSum[3]={0},*min=&nums[0][0]; double rowAve[3],cloAve[3]; printf("原数组:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++...

用c++编程找到一个3*3二维数组的鞍点
答:include<iostream>using namespace std;int main(){ int a[3][3],i,j,*max[3],*min[3],m,c; cout<<"输入一个3*3的矩阵:\n"; for (i=0;i<3;i++) for (j=0;j<3;j++) cin>>a[i][j]; for (i=0;i<3;i++) { max[i]=&a[i][0]; ...

用C语言编写一个3x3的二维数组,求对角线的和
答:这个很简单啊 3x3的二维数组 你自己定义为 int A[x][y]; (你这题x=3,y=3;)对角线你自己看下 是不是有主对角线和副的? 主的好求 在循环里 只有当x = y的时候就把他们的值相加 最后就是主对角线的值 副对角线的话你看下 第一个是不是 x=1 y=2 第二个x=2 y=2 第三...

c语言中怎样输入一个3*3的二维数组存储到文件中在文件中按顺序输出二...
答:include<stdio.h>#include #define N 3 //N定义数组的大小void ShellSort(int a[],int n)//直接插入排序:对含有n个整数的数组a[]进行从小到大排序{ int i,j,t; for(i=1;i<n;i++) for(j=i-1;j>=0&&a[j]>a[j+1];j--) { t=a[j]; a[j]=a[j+1]...

c语言输入一个3行3列的二维整型数组表3*3阶矩阵,计算第一列元素之和...
答:include <stdio.h>void main(){int i,j,a[3][3],s=0;for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(j==0) s+=a[i][j];}printf("%d",s);}

C语言,如何在子函数中写一个3*3二维数组,给主函数调用!!
答:include<stdio.h>#include<malloc.h>int ** sr(void){ int i,j; int *memory=(int *)malloc(sizeof(int)*9);//申请完整的连续内存地址3*3 int **arr=(int **)malloc(sizeof(int*)*3);//申请二维数组行指针数组(也就是二维数组) if(!memory || !arr){ printf(...

C语言编程题 从键盘输入9个数存入一个3*3的二维整型数组中:
答:"stdio.h"int main(int argc,char *argv[]){int a[3][3],s,i,j;printf("Please enter data...\n");for(i=0;i<3;i++)//输入3x3数组for(j=0;j<3;scanf("%d",a[i]+j++));printf("\n");for(s=i=0;i<3;i++){//按3行3列输出并求对角线之和for(j=0;j<3;...

c语言问题 写一个函数,使给定的一个3x3的二维整型数组转置,即行列互 ...
答:方法一、include<stdio.h> void main(){ void switchArray(int[3][3]);int array[][3]={{1,2,3},{4,5,6},{7,8,9}};int i,j;switchArray(array);return 0;} void switchArray(int array[][3]){ int newArray[3][3];int i,j;for(i=0;i<3;i++){ for(j=0;j<3;j...

C语言中如何将一个3×3的二维数组,行列互换,并赋值到另一个二维...
答:int main(void){ int array[3][3] = {1,2,3,4,5,6,7,8,9};int array_1[3][3];printf("原始数组:\n");for(int i = 0;i<3;i++){ for(int j = 0;j<3;j++){ array_1[j][i] = array[i][j];printf("%d\t",array[i][j]);} printf("\n");} printf("...

C语言,从键盘为一个3*3整形数组输入数据,并找出主对角线上元素的最...
答:思路:键盘输入3*3的二维数组a,接着假设a[0][0]就是最大值,再把a[0][0]与a[1][1]和a[2][2]比较最后输出最大值和最大值行号。参考代码:include<stdio.h>#define n 3int main() { int a[n][n],i,j,max,maxi; for(i=0;i<n;i++)//键盘输入 for(j=0;j<n;j++) ...