大きな数を入力するとエラーになる

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
助けてもらいたい

大きな数を入力するとエラーになる

#1

投稿記事 by 助けてもらいたい » 9年前

コード:

#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: 大きな数を入力するとエラーになる

#2

投稿記事 by 助けてもらいたい » 9年前

入力は
[url]
file:///Users/daiki/Downloads/ITP1_4_D_in19.txt.html
[/url]
です

box
記事: 2002
登録日時: 14年前

Re: 大きな数を入力するとエラーになる

#3

投稿記事 by box » 9年前

はて、どんな大きい数を入力したときにどんなエラーが出るのでしょう。
そこがわからないことには、いかんともしがたいです。

とりあえず、goukeiは0で初期化しておくのがまっとうでありましょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 大きな数を入力するとエラーになる

#4

投稿記事 by みけCAT » 9年前

大きい配列を自動変数として静的に確保すると、スタックオーバーフローを起こすことがあります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

助けてもらいたい

Re: 大きな数を入力するとエラーになる

#5

投稿記事 by 助けてもらいたい » 9年前

box さんが書きました:はて、どんな大きい数を入力したときにどんなエラーが出るのでしょう。
そこがわからないことには、いかんともしがたいです。

とりあえず、goukeiは0で初期化しておくのがまっとうでありましょう。
入力は先述した通りです
よろしくお願いします

muzukasii

Re: 大きな数を入力するとエラーになる

#6

投稿記事 by muzukasii » 9年前

助けてもらいたい さんが書きました:入力は
[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: 大きな数を入力するとエラーになる

#7

投稿記事 by 救世主 » 9年前

int型ではなくlong long型にしてみては?

助けてもらいたい

Re: 大きな数を入力するとエラーになる

#8

投稿記事 by 助けてもらいたい » 9年前

ありがとう!

閉鎖

“C言語何でも質問掲示板” へ戻る