不好意思 小弟是剛學C++的新手在做 10個數字比大小卻遇到一些小問題 希望有高手可以指導一下?

2017-07-06 4:02 am
題目是分別比較任意組的10個數字然後找出各組的最大最小值,
但寫完程式後不知為何 最小值讀不進去 (顯示記憶體位置) 最大值卻可以
P.S 一開始的a是要輸入共有幾組數字(一組數字分別是10個)

-------------------以下是我寫的程式----------------------------------

#include <iostream>
using namespace std;

int main()
{
int a, i, j;
float math[11][11],max[11],min[11];

cin >> a;

for (i = 0; i < a; i++)
for (j = 0; j < 10; j++)
{
cin >> math[i][j];
if (math[i][j] > math[i][j + 1] && max[i] < math[i][j])
{
max[i] = math[i][j];
}
if (math[i][j]>math[i][j + 1] && min[i]>math[i][j + 1])
{
min[i] = math[i][j + 1];
}
}

for (i = 0; i < a; i++)
{
cout << "maximum:" << max[i]<<endl;
cout << "minimum:" << min[i]<<endl;
}

system("pause");
return 0;
}

回答 (3)

2017-07-06 6:08 am
1. 一看就知道是因為沒有初始化max[]與min[]
2. 根本就不需要max[][] 或是 max[] min[]

#include<iostream>
using namespace std;
int main(void){
const unsigned N=10;
int cnt, i, j;
cin >> cnt;
double n;
double *max = new double[cnt],
*min = new double[cnt];
for(i=0; i<cnt; ++i){
cin>> max[i]; min[i]=max[i];
for(j=N-1; j>0 && cin>>n; --j)
if(n > max[i]) max[i] = n;
else if(n < min[i]) min[i] = n;
}
for(i=0;i<cnt;++i)
cout << "maximum:" << max[i] <<endl << "minimum:" << min[i] <<endl;
if(max) delete max, max=NULL;
if(min) delete min, min=NULL;
return 0;
}

// test
CPP$ vim mm.cpp
CPP$ g++ mm.cpp -o mm -Wall -O3 -std=c++14
CPP$ ./mm
2
-2 -15.2 0 89.5 100 25.3 7 30 76 4
0 3 52.7 998 135 -256 79 95 10 16
maximum:100
minimum:-15.2
maximum:998
minimum:-256
CPP$
2017-07-07 9:18 am
#include <iostream>
#include <iomanip>//設定輸出格式
using namespace std;
int main(void){
int N = 0;
cin >> N;

float input, Max[N], Min[N];
bool First = true;

for(int T = 0 ; T<N ; T++) {
First = true;

for(int i=0 ; i<10 ; i++) {
cin >> input;

if( First || Max[T]<input ) Max[T] = input;
if( First || Min[T]>input ) Min[T] = input;
First = false;
}
}
cout<<setiosflags(ios::fixed)<<setprecision(2); // 設定輸出固定小數點2位
for(int T = 0 ; T<N ; T++) {
cout << "maximum:" << Max[T] <<endl;
cout << "minimum:" << Min[T] <<endl;
}
system("pause"); return 0;
}
2017-07-06 4:40 pm
可是它是要一次輸入所有組的資料 然後才分別輸出各組的最大最小


收錄日期: 2021-05-04 02:21:29
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20170705200224AAboTgY

檢視 Wayback Machine 備份