c++


hoge.txtというファイルがあるとします。
内容:
1
3
2
5
4
と1桁の数字が改行されながら記入されています。

reader.exeを開くと
”ファイル名”と表示され、ファイル名を入力するとそのファイルを読み込みます。(ここではhoge)ファイル内は1桁の数字が改行されながら掲載されています。まず、数字の数(全数字を足すのではなく改行毎の数)をカウントし表示します。次に最初と最後の数字を表示します。その後最小と最大の数字を表示します。この際、幾つの数字が入っているのかはわかりません。

以上のC++プログラムをお願いします。

回答の条件
  • 1人5回まで
  • 登録:2009/01/23 16:25:57
  • 終了:2009/01/26 02:06:23

ベストアンサー

id:GoldenDawn No.1

GoldenDawn回答回数426ベストアンサー獲得回数812009/01/23 17:33:49

ポイント60pt
#include <iostream>
#include <fstream>

int main() {
  char name[256] ;
  std::cout << "ファイル名 : " ;
  std::cin >> name ;
  std::fstream fst(name, std::ios::in) ;
  if (fst.fail()) {
    std::cout << "ファイルをオープンできませんでした。" << std::endl ;
    return -1 ;
  }

  char max = 0, min = 0, first = 0, last ;
  char data[5] ;
  int count = 0 ;
  while (fst >> data) {
    ++count ;
    if (max == 0 || max < data[0]) max = data[0] ;
    if (min == 0 || min > data[0]) min = data[0] ;
    if (first == 0) first = data[0] ;
    last = data[0] ;
  }

  std::cout << "count : " << count << std::endl
            << "  1st : " << first << std::endl
            << " last : " <<  last << std::endl
            << "  min : " <<   min << std::endl
            << "  max : " <<   max << std::endl ;

  return 0 ;
}

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません