1. vb编程,鞍点代码怎么写呢
Dim a()
Private Sub Form_Click()
Dim m As Integer, n As Integer
m = Val(InputBox("请输入行数"))
n = Val(InputBox("请输入列数"))
ReDim a(m, n)
Randomize
Text1.Text = ""
For i = 1 To m
For j = 1 To n
a(i, j) = Int(Rnd * 100 + 1)
Text1.Text = Text1.Text & Format(a(i, j), "!@@@@")
Next j
Text1.Text = Text1.Text & vbCrLf
Next i
find = 0
For i = 1 To m
big = a(i, 1)
col = 1
For j = 1 To n
If big a(k, col) Then
flag = 0
Exit For
End If
Next k
If flag = 1 Then
find = 1
Text2.Text = "鞍点在" & i &; "行" & col &; "列"
End If
Next i
If find = 0 Then MsgBox "无鞍点"
End Sub
2. C语言的鞍点怎么求
#include
void main()
{
int i,j,m,n,p,number=0;
int a[4][4];
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
for(i=0;i{for(j=0;jprintf("%-4d",a[i][j]);
printf("\n);}
for(i=0;i{ m=0;
for(j=0;jif(a[i][m]n=0;
for(i=0;iif(a[n][m]>=a[i][m]) n=i;
{if(p==n)
printf("第%d行鞍点是a[%d][%d]=%d",p,p,m,a[p][m]);}
number++;
}
if(number==0)
printf("没有鞍点\n");
}
3. 用c语言编写一个求鞍点的程序,
先找行上最大的数,再看看在列上是否最小就OK了~
参考下面代码
#include < stdio.h>
#define MAX_BUF 300
void func(int *A, int rows, int cols, int* result, int resultsize)
{
int i,j,tc,flag,cul=0;
for(i=0;i<rows;++i)
{
for(j=0,tc=0;j<cols;++j)
{
if(*(A+i*cols+j) > *(A+i*cols +tc))
tc=j;
}
flag = 1;
for(j=0;j<rows;++j)
{
if(*(A+j*cols +tc) < *(A+i*cols+tc) && i != j)
{
flag = 0;
break;
}
}
if(flag)
{
if(cul< resultsize-3)
{
result[cul]=i;
result[cul+1] = tc;
result[cul+2] = *(A+i*cols+tc);
cul += 3;
}
else
{
break;
}
}
}
result[cul] = -1;
}
int main()
{
int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};//结果应为3
int Res[MAX_BUF];
int i = 0;
func(&(A[0][0]),3,3,Res,MAX_BUF);
while(Res[i] != -1)
{
printf("第%d行,第%d 列 为鞍数 :%d\n",Res[i]+1,Res[i+1]+1,Res[i+2]);
i+=3;
}
}
/*
输出:第1行,第3 列 为鞍数 :3
*/
4. 如何在C语言中编写鞍点问题呢
#include 先找行上最大的数,再看看在列上是否最小就OK了~ 参考下面代码 #include < stdio.h> #define MAX_BUF 300 void func(int *A, int rows, int cols, int* result, int resultsize) { int i,j,tc,flag,cul=0; for(i=0;i<rows;++i) { for(j=0,tc=0;j<cols;++j) { if(*(A+i*cols+j) > *(A+i*cols +tc)) tc=j; } flag = 1; for(j=0;j<rows;++j) { if(*(A+j*cols +tc) < *(A+i*cols+tc) && i != j) { flag = 0; break; } } if(flag) { if(cul< resultsize-3) { result[cul]=i; result[cul+1] = tc; result[cul+2] = *(A+i*cols+tc); cul += 3; } else { break; } } } result[cul] = -1; } int main() { int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};//结果应为3 int Res[MAX_BUF]; int i = 0; func(&(A[0][0]),3,3,Res,MAX_BUF); while(Res[i] != -1) { printf("第%d行,第%d 列 为鞍数 :%d\n",Res[i]+1,Res[i+1]+1,Res[i+2]); i+=3; } } /* 输出:第1行,第3 列 为鞍数 :3 */ #include <stdio.h> #define N 4 #define M 5 void main() { int i,j,k,a[N][M],max,maxj,flag; printf("please input matrix:\n"); 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\n",i,maxj,max); break;} } if(!flag) printf("Tt is not exist!\n"); }5. 用c语言编写一个求鞍点的程序,
6. 编写程序 找出一个二维数组中的鞍点