こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミング

以下のC++で書かれた以下のプログラムのコンパイルができません。理由を教えてください。


#include <iostream>
#include <vector>
#include <algorithm>



istream& read(istream&, std::vector<double>&);
double median(std::vector<double>);


int main(){

std::vector<double> a;
read(std::cin, a);

std::vector<double>::iterator itr;

while(itr != a.end()){
std::cout << *itr;
}
std::cout << median(a) << std::endl;
}

istream& read(istream& is, std::vector<double>& v){
double b;
if(is){
while(in >> b) v.push_back(b);
}
return is;
}

double median(std::vector<double> a){
int i;
if(a.size() == 0)
{
return -1;
}
i = a.size() / 2;
if(a.size()%2 == 1) return (a[i]);
else return ((a[i] + a[i-1])/2);
}

投稿日時 - 2012-01-31 01:20:41

QNo.7276559

すぐに回答ほしいです

質問者が選んだベストアンサー

istreamって何?

ついでに
while(in >> b) v.push_back(b);
のinって何?
いきなり
while(itr != a.end()){
なんていう判定をさせていいの?
それからこのループでitrは何も変化しないんだけどそれでいいの?
そして
std::cout << *itr;
と出力しても見づらいと思わないか?

投稿日時 - 2012-01-31 03:17:25

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

どの行にどんなエラーが出ますか?
そのエラーは"理解不能"ですか?
それとも"対処不能"ですか?

投稿日時 - 2012-01-31 05:45:23

ANo.1

理由はコンパイラが知っている.

投稿日時 - 2012-01-31 02:15:07

あなたにオススメの質問