Вопрос Правильно ли решена задача ? ( C++ )

Регистрация
14 Сен 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
/*Организовать беспрерывный ввод чисел с клавиатуры, пока пользователь не введёт 0.
После ввода нуля, показать на экран количество чисел, которые были введены,
их общую сумму и среднее арифметическое.
Подсказка: необходимо объявить переменную-счетчик,
которая будет считать количество введенных чисел, и
переменную, которая будет накапливать общую сумму чисел. */

#include
using namespace std;
int main() {

int vvodchic ;
int sum = 0 ;
int colichestvo = 0 ;
double srznch = 0 ;
int w = 1 ;

while ( vvodchic != 0 ) {
cin >> vvodchic ;
sum += vvodchic ;
colichestvo += 1 ;
}
if ( w = 1 ) {
cout << " you vveli " << colichestvo - 1 << " chisel " << endl ;
cout << " sum = " << sum << endl ;
srznch = sum / (colichestvo - 1) ;
cout << " srznch = " << srznch << endl ;
}

return 0 ;
}
 
Пожалуйста имейте ввиду, что этот пользователь забанен
//без кучи разных проверок (как предлагали выше) и т. п. int main() { int num =-1, count = -1, sum = 0; while (num != 0) { std::cin >> num; sum += num; count++; } std::cout << "Count: " << count << "
Sum: " << sum << "
AVG: " << sum/count << std::endl; system("pause"); return 0; }
 
нет, так как переменная vvodchic не инициализирована, мы не знаем какое в ней изначальное значение и ничего не мешает там быть значению 0, а в этом случае цикл не выполнится ни разу
 
1. В цикле while, при первой итерации проверяется неинициализированная переменная. Это ошибка. 2. Вы используете ввод значения без проверки. Что если пользователь введет символ? Или строку символов? Произойдет нарушение потока. Это плохо. 3. Правило хорошего тона, в конце программы делать какую нибудь задержку, что бы можно было увидеть результат. а у вас программа просто завершается. Это не критично, не не есть хорошо.
 
#include <iostream> #include <vector> #include <numeric> using namespace std; int main() { vector<double> seq; double value; while (true) { cout << " Value: "; cin >> value; if (!value) break; seq.push_back(value); } auto count = seq.size(); auto sum = accumulate(seq.begin(), seq.end(), 0.0); auto average = sum / count; cout << "
Count: " << count << "
Sum: " << sum << "
Average: " << average << endl; cin.ignore(); cin.get(); }
 
/*Организовать беспрерывный ввод чисел с клавиатуры, пока пользователь не введёт 0.
После ввода нуля, показать на экран количество чисел, которые были введены,
их общую сумму и среднее арифметическое.
Подсказка: необходимо объявить переменную-счетчик,
которая будет считать количество введенных чисел, и
переменную, которая будет накапливать общую сумму чисел. */

#include
using namespace std;
int main() {

int vvodchic ;
int sum = 0 ;
int colichestvo = 0 ;
double srznch = 0 ;
int w = 1 ;

while ( vvodchic != 0 ) {
cin >> vvodchic ;
sum += vvodchic ;
colichestvo += 1 ;
}
if ( w = 1 ) {
cout << " you vveli " << colichestvo - 1 << " chisel " << endl ;
cout << " sum = " << sum << endl ;
srznch = sum / (colichestvo - 1) ;
cout << " srznch = " << srznch << endl ;
}

return 0 ;
}

[THIDE="0"]#include <iostream>
#include <vector>
#include <conio.h>

using namespace std;

int main(){
int n=0, t=0, r=0;
do
{
cout << "Enter N: ";
cin >> n;
cout << "\n";
t++;
r += n;
} while (n != 0);
cout << "\nN entered " << t << " times";
cout << "\nSum of N = " << r << "\n";
}[/THIDE]
 
Назад
Сверху