ため私は(ユーザによって選択された)値の任意の数の算術平均演習:サイクルとアレイ
を計算することを可能にするプログラムを記述する必要がありますそれを出力:
番号:34
数:36
数:44
番号://と私は
を押して入力を停止することを選択しますの//出力:
これは、3つの数字を挿入し、avarageは次のとおりです。もちろん38
私は私が何をやったかに投稿するのを忘れました:
for (int x = 0; x < 50; x++){
cout << "Number: ";
cin >> number[x];
cout << "You have inserted the " << x << " element of the array;" << endl;
sum += number[x];
avarage = sum/number[x];
nEelementi = number[x];}
ので、私は実行しますいくつかの数字を入力し、ctrl + dのようなものを押すか、コードに何かを追加しようとしています。不条理なavarageとsumを印刷します。
私はこれを行うために配列を必要としないことを知っていますが、エクササイズから必要です。また、ループと配列のforまたはwhileを使用するためのエクササイズのみのリクエストも必要です。 私が必要とするのは、入力を止め、私が書いたものの合計と平均を計算する方法です。
edit1。 私には分かりやすいので、(x = 0; x < n、x ++)と書いてみましたが、結果は0なのでこれを無限に書いたと思います。 (無限に分割された数の限界は0なので)私は怒って始めました。 今はループ中に使いやすいと思っています!書いた
#include <iostream>
using namespace std;
int main() {
int num[50];
double sum = 0;
double average = 0;
int cont;
int end = 0;
while (cont < 50) {
cout << "num: ";
cin >> num[cont];
sum += num[cont];
cont++;
cout << "Want to continue 0 = sì, 1 = no";
cin >> end;
if (end == 1) {break;}
}
average = sum/cont;
cout << "You have insert " << cont << " elements" << endl;
cout << "LThe sum is: " << sum << endl;
cout << "The avarage is: " << average << endl;
return 0;
}
しかし、まだ動作しません。私の教授は、ctrl + dを押して入力番号を止めることができるはずだと言っていますので、私はうまくやっていません。 ご迷惑をおかけして申し訳ありませんが、コードを翻訳する必要があります。
edit2
#include <iostream>
int main() {
int sum = 0;
int num;
while (std::cin) {
std::cout << "Number: ";
std::cin >> num;
}
if (std::cin >> num) {
sum += num;
num++;
}
else {
std::cin.clear();
std::cout << "Input interrupted" << std::endl;
}
std::cout << "Sum is " << sum << std::endl;
std::cout << "You have entered " << num << " numbers" << std::endl;
return 0;
}
私は、私にとって非常にシンプルで理解しやすい、この新しいコードを、大好きですが、私は和演算を追加することができませんでした、それだけで0を出力! (平均を外して) また、入力した数字の数を確定して表示することができませんでした。コードの最後の行は、私がしたいことの一例です。
edit3。
最後に作成しました。
#include <iostream>
using namespace std;
int main(){
double numero;
int index = 0;
double somma = 0.;
cout << "Inserire un numero: ";
while(cin)
{
if (cin >> numero)
{
somma = somma + numero;
index++;
cout << "Inserire un numero: ";
}
else
{
cout << "Input interrotto" << endl;
}
}
cout << "Sono stati inseriti " << index << " numeri e la lora media è:
<< somma/index << endl;
return 0;
}
ありがとうございます!
P.S.結局、配列を使用する必要はありません。単純です。
クリアされていない質問を。 何ですか? – jace
質問がありますか? – pm100
なぜこのための配列が必要でしょうか?ただ数字を読み、それを合計(最初はゼロ)に追加し、読み込んだ数字の数を保持し、完了したときに合計/合計数を使って平均を決定します。 – WhozCraig