С клавиатуры вводятся N произвольных чисел.
Определить, сколько среди них нулей и среднее
арифметическое положительных.
Помогите пожалуйста.
C/C++
С ++: Количество нулей и среднее арифмитическое последовательности чисел
#include <iostream>
using namespace std;
int main() {
cout << "N: ";
int n;
if (!n) exit(0);
int m = 0;
int k = 0;
double sum = 0.0;
double x;
cout << ">>> ";
do {
cin >> x;
if (!x) ++m;
if (x > 0) {
++k;
sum += x;
}
} while (--n);
cout << "Zero: " << m << '\n';
cout << "Average: " << sum / k << '\n';
system("pause > nul");
}
using namespace std;
int main() {
cout << "N: ";
int n;
if (!n) exit(0);
int m = 0;
int k = 0;
double sum = 0.0;
double x;
cout << ">>> ";
do {
cin >> x;
if (!x) ++m;
if (x > 0) {
++k;
sum += x;
}
} while (--n);
cout << "Zero: " << m << '\n';
cout << "Average: " << sum / k << '\n';
system("pause > nul");
}
Так просто - для коллекции:
#include <iostream>
using namespace std;
int main()
{
double average = 0, zeroes = 0,
positives = 0, x, m, N;
cout << "N » ";
cin >> N;
for (m = 0; m < N; m++)
{
cin >> x;
if (x == 0) zeroes++;
if (x > 0)
{
positives++;
average += x;
}
}
cout << zeroes << " zeroes";
if (positives)
cout << ", average of positive numbers = "
<< average / positives;
cout << endl;
system("pause > nul");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
double average = 0, zeroes = 0,
positives = 0, x, m, N;
cout << "N » ";
cin >> N;
for (m = 0; m < N; m++)
{
cin >> x;
if (x == 0) zeroes++;
if (x > 0)
{
positives++;
average += x;
}
}
cout << zeroes << " zeroes";
if (positives)
cout << ", average of positive numbers = "
<< average / positives;
cout << endl;
system("pause > nul");
return 0;
}
Так понимаю надо будет использовать условные конструкции и вектор.
Определить количество нулей легко.
Допустим вы ввели произвольные числа, они попали в вектор, тогда мы должны его перебрать и на каждой итерации сравнивать
if (s == 0)
num++
s - произвольная переменная, сами можете придумать название.
в переменную s будут поступать числа из вектора и программа будет смотреть, если s равно 0, то другая переменная будет прибавляться на единицу, эту переменную я назвал num, опять же вы можете назвать как хотите.
В итоге эта num будет выводиться на экран.
Со средним арифметическим можно в принципе так же сделать.
Создать переменную, которая будет считать количество положительных чисел.
Например число положительное, мы его прибавляем в какую-нибудь переменную, например
x1
а в x2 мы прибавляем единицу, то есть она будет счетчиком положительных.
После того, как программа переберет весь вектор чисел, мы поделим x1 на x2 и всё в принципе.
Определить количество нулей легко.
Допустим вы ввели произвольные числа, они попали в вектор, тогда мы должны его перебрать и на каждой итерации сравнивать
if (s == 0)
num++
s - произвольная переменная, сами можете придумать название.
в переменную s будут поступать числа из вектора и программа будет смотреть, если s равно 0, то другая переменная будет прибавляться на единицу, эту переменную я назвал num, опять же вы можете назвать как хотите.
В итоге эта num будет выводиться на экран.
Со средним арифметическим можно в принципе так же сделать.
Создать переменную, которая будет считать количество положительных чисел.
Например число положительное, мы его прибавляем в какую-нибудь переменную, например
x1
а в x2 мы прибавляем единицу, то есть она будет счетчиком положительных.
После того, как программа переберет весь вектор чисел, мы поделим x1 на x2 и всё в принципе.
Похожие вопросы
- Как в языке си ввести с клавиатуры сначала количество чисел последовательности, а потом саму последовательность
- Дана непустая последовательность целых чисел, среди которых есть два нуля. Найти сумму чисел, расположенных между ними.
- Даны число N и последовательность из N целых чисел. Найти количество и сумму тех чисел, которые нечетны и положительны.
- Найти сумму и количество случайных элементов последовательности размером n, кратных числу k
- Определить k-ю цифру последовательности 182764125216343 … , в которой выписаны подряд кубы натуральных чисел.
- Дана матрица целых чисел 8×8. Найти количество простых чисел в этой матрице
- Напишите рекурсивную функцию, которая принимает двухмерный массив целых чисел и количество сдвигов и выполняет
- Преобразовать заданное вещественное число в строку символов с указанием количества разрядов после разделителя целой c++
- В языке С.Необходимо определить количество целых чисел из ряда от 1 до 100, которые содержат цифры 3.
- Дано не менее 3-х различных натуральных чисел, за которыми следует 0. Определить 3 наибольших числа в последовательности