人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C++

以下のプログラムをお願いします。
1 23桁の乱数(整数)を作り、その乱数をhoge.txtとして保存するタイプ

2 そのhoge.txtを読み、その整数の最大と最小の数字と最初と最後の計4つの整数を表示

●質問者: esecua
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:23 タイプ プログラム 乱数 数字
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● GoldenDawn
●60ポイント ベストアンサー

乱数はできれば MT法などの質のよいものを使いたいところですが。

#include <fstream>
#include <stdlib.h>
#include <time.h>

int main() {
 std::fstream fst("hoge.txt", std::ios::out) ;
 if (fst.fail()) return -1 ; // ファイルをオープンできなかった

 srand((unsigned) time(NULL)) ; // 乱数初期化

 rand() ; // 片寄りを防ぐために一回捨てる
 for (int i = 0; i < 23; ++i) fst << (rand() / (RAND_MAX / 10)) ;

 return 0 ;
}
#include <iostream>
#include <fstream>

int main() {
 std::fstream fst("hoge.txt", std::ios::in) ;
 if (fst.fail()) return -1 ; // ファイルがオープンできなかった

 char num[23] ;
 fst >> num ;

 int max, min ;
 for (int i = 0; i < 23; ++i) {
 if (i == 0) max = min = num[i] ;
 if (max < num[i]) max = num[i] ;
 if (min > num[i]) min = num[i] ;
 }

 std::cout << "max : " << (max - '0') << std::endl
 << "min : " << (min - '0') << std::endl
 << "1st : " << num[0] << std::endl
 << "last : " << num[22] << std::endl ;
}
◎質問者からの返答

早速の回答有り難うございます。

1ですが、

cout << "保存したいファイル名を入力して下さい" << end;

cin >> name;

std::fstream fst(name, std::ios::out) ;

で、できますでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ