java輸出馬鞍數

  • 作者:由 匿名使用者 發表于 寵物
  • 2022-05-11

java輸出馬鞍數物合智聯 2011-10-26

package com。njty。test;

/**

* 馬鞍數

* @author Administrator

*

*/

public class MAS {

/**

* @param args

*/

public static void main(String[] args) {

//定義二維陣列

int arrays[][] = {

{5,6,3,8,9},

{4,5,6,7,8},

{3,4,5,2,1},

{2,3,4,9,0},

{1,2,5,4,8}

};

boolean flag = true; //用於標記是否是馬鞍數

for(int i = 0; i< 5; i++){

int tempM = arrays[i][0]; //首先將第一行第一列數假設就是馬鞍數

int tempi = 0; //用於行判斷

int tempj = 0; //用於儲存每行最小數所在的列數

for(int j = 0; j< 5; j++){

if(arrays[i][j] < tempM){//找到行中最小的數

tempM = arrays[i][j];

tempj = j; //儲存最小數的列數

}

}

while(tempi < 5){

if(tempM

flag = false; //不符合條件則將標記置為false

}

tempi++;

}

if(flag){

System。out。println(“馬鞍數是 第”+(i+1)+“行第”+(tempj+1)+“列的數:”+tempM);

}

}

if(!flag){

System。out。println(“該組數中不存在馬鞍數!”);

}

}

}

java輸出馬鞍數xuyue198692 2011-10-26

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

int i, j, k, r, c, min,flag;

java。util。Scanner scan = new java。util。Scanner(System。in);//獲取控制檯的輸入

int n = scan。nextInt();//輸入n

int m = scan。nextInt();//輸入m

int a[][] = new int[n][m];

for (i = 0; i < n; i++) {

for (j = 0; j < m; j++) {

a[i][j] = scan。nextInt();//按行輸入矩陣

}

}

flag = 0;

for (j = 0; j < n; j++) {//每次掃描一行。先找出該行最小的值,再判斷該最小值是不是在列中最大

min = a[j][0];

r = j;

c = 0;

for (k = 1; k < m; k++) {

if (min > a[j][k]) {

min = a[j][k];

r = j;

c = k;

}

}//找到行中最小值

for (k = 0; k < n; k++) {

if (min <= a[k][c]) {

if (r != k)

break;

}

}//判斷是否為列中最大值

if(k == n)//如果既為行最小,也為列最大則輸出,並退出。

{

flag = 1;

System。out。println(“馬鞍數是:”+a[r][c]+“位置是在”+(r+1)+“行”+(c+1)+“列。”);

break;

}

}

if(flag==0)

System。out。println(“Not found!”);

}

}

java輸出馬鞍數在天原作比翼鳥在地願為連理枝 2012-03-24

import java。util。*;

public class Matrix{

/** 尋找馬鞍點的函式,A為矩陣,m和n分別是行數和列數*/

public void saddlePoint(int A[][],int m, int n){

List list1 =new ArrayList();

List list2 =new ArrayList();

int i,j,min,max,p = -200;

for(i=0;i

min=A[i][0];//設每行第一個元素最小

for(j=0;j

if(A[i][j]

}

list1。add(min);//行最小存在list1

}

for(j=0;j

max=A[0][j];

for(i=0;i

if(A[i][j]>max)max =A[i][j];

}

list2。add(max);//列最大存在list2

}

int j1 =0,j2 = 0 ;

for(i=0;i

for(j=0;j

if(list1。get(i)==list2。get(j)){

//既是行最小又是列最大

p = list1。get(i);//賦給p

j1=i+1; j2=j+1;//記錄行號和列號

System。out。println(“第”+j1+“行”

+“第”+j2+“列是馬鞍點:”+p);

}

}

}

if(p == -200)System。out。println(“無馬鞍點!”);

//如果p值不變,則無馬鞍點

}

public static void main(String[] args) {

Matrix matrix =new Matrix();

int[][] A ={{1,2,3,4},{4,5,6,7},{15,7,7,0}};

matrix。saddlePoint(A, 3, 3);

}

}

java輸出馬鞍數召合dZ 2011-10-26

public class P1{

private int[][] a=null;

private int rownum=0,colnum=0;

//儲存每行中最小的那個數的行和列,如“1,2”——-第一行,第二列

private int[] rows=null;

//儲存每列中最大的那個數的行和列,如“1,2”——-第一行,第二列

private int[] cols=null;

private int num=0;

P1(int[][] a,int row,int col){

this。a = a;

this。rownum=row;

this。colnum=col;

rows = new int[row];

cols = new int[col];

}

public void setMinRow(){

int min;

int minIndex;

for(int r=0;r

min = a[r][0];

minIndex=0;

for(int c=0;c

if(a[r][c]

min = a[r][c];

minIndex=c;

}

}

rows[r]=minIndex;

}

}

public void setMaxCol(){

int max;

int maxIndex;

for(int c=0;c

max = a[0][c];

maxIndex=0;

for(int r=0;r

if(a[r][c]>max){

max = a[r][c];

maxIndex=r;

}

}

cols[c]=maxIndex;

}

}

public void getSaddleNUm(){

setMinRow();

setMaxCol();

for(int r=0;r

if(r==cols[rows[r]]){

num++;

System。out。println(“第”+num+“個馬鞍點是行”+r+“列”+rows[r]+“:”+a[r][rows[r]]);

}

}

}

public void print(){

for(int r=0;r

for(int c=0;c

System。out。print(a[r][c]+“ ”);

}

System。out。println(“”);

System。out。println(“——————-”);

}

}

public static void main(String[] args){

//存放矩陣的數值

int[][] a1 = {{1,5,9,10,2},{7,5,6,3,2},{11,7,9,0,12},{6,9,13,10,21},{11,4,13,40,32},{21,16,91,100,42}};

//第一個引數為存放矩陣的陣列,第二個引數為矩陣行數,第三個為矩陣列數

P1 p = new P1(a1,6,5);

p。getSaddleNUm();

p。print();

System。out。println(“矩陣擁有的馬鞍點數為:”+p。num);

}

}

java輸出馬鞍數acwiecgq 2011-10-26

#include int i,j,k,l,m,n; int zhi,min,max,hang,lie; void ma(int a[30][70]); int main(void) { zhi = 0; int a[00][60]; printf(“輸入zn*n陣列的n值: \n”); scanf(“%d”,&n); printf(“輸入d陣列的具體數值(先行後列):\n ”); for(i=0;ia[m][k]) { m=l; } max=a[m][k]; } if(min==max&&m==i) { zhi=min; hang=m+7; lie=k+2;break; } } } 一k是你的在執行Ma裡面時i與zj迴圈的控制出錯了g,沒有 = 號 main函式最好控制一c下n返回值問題 a乏l◎c取t&s

Top