ページ 1 / 1
大きな数を入力するとエラーになる
Posted: 2016年6月19日(日) 21:57
by 助けてもらいたい
コード:
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cmath>
using namespace std;
int main(){
int a,n,max,goukei;
int min = 999999999;
int array[1000000];
cin>>n;
for(;;){
for(a=0; a<n; a++) cin>>array[a];
int max = array[0];
for(a=0; a<n; a++) if(array[a] > max)max = array[a];
for(a=0; a<n; a++) if(array[a] < min)min = array[a];
for(a=0; a<n; a++) goukei += array[a];
cout<<min<<" "<<max<<" "<<goukei<<endl;
break;
}
return 0;
}
よろしくお願いします
Re: 大きな数を入力するとエラーになる
Posted: 2016年6月19日(日) 21:59
by 助けてもらいたい
入力は
[url]
file:///Users/daiki/Downloads/ITP1_4_D_in19.txt.html
[/url]
です
Re: 大きな数を入力するとエラーになる
Posted: 2016年6月19日(日) 23:02
by box
はて、どんな大きい数を入力したときにどんなエラーが出るのでしょう。
そこがわからないことには、いかんともしがたいです。
とりあえず、goukeiは0で初期化しておくのがまっとうでありましょう。
Re: 大きな数を入力するとエラーになる
Posted: 2016年6月19日(日) 23:28
by みけCAT
大きい配列を自動変数として静的に確保すると、スタックオーバーフローを起こすことがあります。
Re: 大きな数を入力するとエラーになる
Posted: 2016年6月20日(月) 21:05
by 助けてもらいたい
box さんが書きました:はて、どんな大きい数を入力したときにどんなエラーが出るのでしょう。
そこがわからないことには、いかんともしがたいです。
とりあえず、goukeiは0で初期化しておくのがまっとうでありましょう。
入力は先述した通りです
よろしくお願いします
Re: 大きな数を入力するとエラーになる
Posted: 2016年6月20日(月) 21:58
by muzukasii
助けてもらいたい さんが書きました:入力は
[url]
file:///Users/daiki/Downloads/ITP1_4_D_in19.txt.html
[/url]
です
この書き方では何もいえません。ITP1_4_D_in19.txtファイルの中身をすべて書き出すorこぴぺしてはることをお勧めします。
また、
int array[1000000];
でarrayという名前の配列の大きさを1000000と定めているので、
cin>>n;
でコンソールに打ち込むnの数が1000000以上だとエラーになると思います。
Re: 大きな数を入力するとエラーになる
Posted: 2016年7月14日(木) 19:01
by 救世主
int型ではなくlong long型にしてみては?
Re: 大きな数を入力するとエラーになる
Posted: 2016年7月14日(木) 19:02
by 助けてもらいたい
ありがとう!