1樓:鬱_詩
額,我是樓上的281754179。。。
還是第一次發現回答修改有上限的,orz。。。
為方便樓主檢視,就用另一個號回答吧:
已幫你找出錯了,正在幫你優化優化**,等等哈~~
**改錯:(用註釋標出來的)
#include
void main() //你的演算法只能找出陣列中一個鞍點,例如對於全部元素相等的陣列也只能輸出第一個鞍點,對於這個的改進我放在後面的**優化那了
;char p;
while( m== 0)
}min=a[0][h1];
h2=0;
for(j=0;j
#define max_size 100 //最大長度
struct node ;
int main() //while
for(i = 0; i < hang; i++) //for
} //for
printf("**********************************\n");
printf("您輸入的陣列為:\n");
for(i = 0; i < hang; i++) //for
printf("\n");
} //for
max.len = 0;
for(i = 0; i < hang; i++) //if
} //for
max.num[max.len++] = i * lie + max_j;
for(j = max_j+1; j < lie; j++) //if
} //for
} //for
min.len = 0;
for(j = 0; j < lie; j++) //if
} //for
min.num[min.len++] = min_i * lie + j;
for(i = min_i+1; i < hang; i++) //if
} //for
} //for
flag = 0; //先假設該陣列無鞍點
for(i = 0; i < max.len; i++) //if
} //for
} //for
if(!flag) //if
printf("**********************************\n");
return 0;
} //main
2樓:哈哈樂
額,你等等,發現還有錯,我先上課去,晚上回來改正。。。。
3樓:匿名使用者
我測試了下,重新輸入的地方和後面的判斷都有問題。前面的判斷改好了,後面的你自己先看看。
#include
void main()
;char p;
while( m== 0)
}min=a[0][h1];
for(j=0;j
}printf("*************\n");
if(max == min&& h1==h2)printf("這個陣列有鞍點,位置是第%d行,第%d列,元素值為%d\n",i+1,h1+1,a[i][h1]);}}
c語言尋找矩陣的鞍點 50
4樓:灩麗
1、鞍點為矩陣元素所在行的最大值,以及所在列的最小值。
2、首先,定義3個整型變數,儲存控制迴圈的變數,以及標誌是否有鞍點。
3、接著,定義三個整型陣列變數,儲存矩陣各元素,以及每一行的最大值和每一列的最小值。
4、設定最大值陣列和最小值陣列的初值,用memset函式實現。
5、然後,用兩層迴圈,控制輸入矩陣的各元素。
6、用兩層for迴圈,控制每一行最大值、每一列最小值的獲取。
7、用if語句,控制每一行最大值的獲取。
8、繼續用if語句,獲取矩陣每一列的最小值。
9、然後,逐個讀取矩陣中的元素,判斷是否鞍點,如果是鞍點則輸出座標和值。
10、最後,當矩陣中沒有鞍點時,輸出此矩陣無鞍點的資訊。
11、執行程式,當輸入一個5*5矩陣後,電腦就會判斷出有無鞍點,並輸出鞍點的座標和值。
5樓:匿名使用者
#include
#define m 50
#define n 50
int main(void)
}flag = 1; // 預置標誌
for(j = 0; j < m && flag; ++j)if(flag == 1)
}if(f) printf("沒有鞍點。\n");
return 0;}
6樓:匿名使用者
#include
#define m 3
#define n 3
void main()
;int col[100] = ;
int min_col[100] = ;
int a[m][n];
int i,j ;
int haspoint = 0 ;
printf("請輸入矩陣元素!\n");
for(i=0;icol[j])
// 重新確定最大值
}// min_col[i] 記錄的是第i行最小值所在的列,把row[i] 和該列的最大值比較即可
for(i=0;i
}if ( haspoint == 0 )printf("no points.");}
c語言問題 找矩陣中的鞍點
7樓:匿名使用者
#include
#define n 3
#define m 4
void main()
flag=1;
for(k=0;ka[k][maxj])
if(flag)
}if(!flag)
printf("no!");}
c語言求鞍點!
8樓:
#include "stdafx.h"
#include
void main()
}for(i=1;i<4;i++){
min=a[0][k];
if(a[i][k]
已經編譯通過。你的錯誤是:
①if(max==min)其中為==並不是=;
②最後少一個大括號,否則程式不完整,無法結束。
C語言程式設計題,找鞍點,c語言一道鞍點的題
include int main int a 4 4 int i,j,k,i0,j0,find 0 printf 陣列a for i 0 i 4 i for j 0 j 4 j printf 3d a i j printf for i 0 i 4 i 窮舉所有的行。j0 0 for j 1 j 4 ...
麻煩幫我看一下,謝謝,麻煩幫我看一下這個中藥叫什麼名字,謝謝
不對吧 謂語動詞怎可能能會有ing形式?是賓語吧?麻煩幫我看一下這個中藥叫什麼名字,謝謝 好像覆盆子,會結紅色的果可以吃。這個是茅莓。茅莓 rubus parvifolius l.屬薔薇科,落葉小灌木,多以藥用名薅田藨出現,以根或莖 葉入藥。秋季挖根,夏秋採莖葉,鮮用或切段晒乾。花期5 6月,果期7...
求c語言大神幫我看一下我這個程式的錯誤,以及更改方法
先寫上註釋,不寫註釋怎麼看 求c語言大神幫我看看這個程式,輸出不對,怎麼改 50 以下是修正後的程式,已經在gcc下編譯執行通過無誤。正確的完成了陣列拼接併成功輸出陣列資料。include define maxnum 20 typedef int datatype typedef struct se...