Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
ЛазаретЪ
1 / 1 / 0
Регистрация: 04.02.2011
Сообщений: 30
#1

Вычислить ср.арифметическое (цикл do while) - C++

04.02.2011, 14:49. Просмотров 1403. Ответов 12
Метки нет (Все метки)

Последовательно вводим целые числа, до тех пор пока не встретится ноль. Для чётных чисел этой последовательности вычислить среднее арифметическое.
(При написании программы использовать цикл do while)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 14:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить ср.арифметическое (цикл do while) (C++):

Цикл for и while: вычислить среднее арифметическое последовательности чисел - C++
Решить задачу двумя методами: используя цикл for и используя цикл while. Написать программу, которая вычисляет среднее арифметическое...

Цикл: Найти среднее арифметическое всех чисел а1,…,an, кроме ai. - C++
Даны натуральные числа i, n, действительные числа а1,…, an . Найти среднее арифметическое всех чисел а1,…,an, кроме ai. #include...

Найти среднее арифметическое всех целых чисел в заданном диапазоне (цикл for) - C++
Ребятки, помогите пожалуйста решить эти задачи, как можно проще, через цикл for и через разветвление if (без std , printf и всего такого...

Найти среднее арифметическое таких чисел в диапазоне [a; b], у которых последняя цифра равна 7 (цикл for) - C++
Вводятся числа a и b. Найти среднее арифметическое таких чисел в диапазоне , у которых последняя цифра равна 7. Задание с циклом for ...

Вычислить среднее арифметическое - C++
Задана последовательность, заканчивающаяся нулём. Напишите программу, которая вычисляет среднее арифметическое элементов последовательности...

Вычислить арифметическое выражение - C++
Вычислить:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
04.02.2011, 15:02 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
int x, sum=0, k=-1;
do
{
 
cin>>x;
if (k%2==0) 
{
sum+=x;
k++;
}
}
while(x!=0);
cout<<(double)sum/k;
retrun 0;
}
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
04.02.2011, 15:05 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
    int i, k=0;
    float sum=0;
    do
    {
        cout<<"Enter number: ";
        cin>>i;
        if (i%2==0)
        {
            sum+=i;
            k++;
        }
    }
    while (i!=0);
    cout<<"Rezultat: "<<sum<<"/"<<k<<" ="<<float(sum/k)<<endl;
    return 0;
}
Если считать, что четным должно быть само число, а не его номер в последовательности.
ЛазаретЪ
1 / 1 / 0
Регистрация: 04.02.2011
Сообщений: 30
04.02.2011, 17:14  [ТС] #4
А можно то же самое, но с printf и scanf ?
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:18 #5
ЛазаретЪ,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void){
        int i, k=0;
        float sum=0;
        do
        {
                printf("Enter number: ");
                scanf("%d", &i);
                if (i%2==0)
                {
                        sum+=i;
                        k++;
                }
        }
        while (i);
        printf("Rezultat:\n %0.0f/ %d = %0.2f", sum, k, float(sum / k));
        return 0;
}
Nameless One
Эксперт С++
5771 / 3420 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
04.02.2011, 17:33 #6
Цитата Сообщение от asics Посмотреть сообщение
"Rezultat:\n %0.0f/ %d = %0.2f"
Наверно, подразумевалось так: "Rezultat:\n %0.2f/ %d = %0.2f"
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:41 #7
Nameless One, Но сума целых чисел, будет целое число, зачем там два нуля писать ?
ЛазаретЪ
1 / 1 / 0
Регистрация: 04.02.2011
Сообщений: 30
04.02.2011, 17:53  [ТС] #8
Программа не совсем корректно работает: при вводе цифр, например 1,2,3,4,5,6,0 выводится 12/4=3.00
Если в 4-ой строчке присвоить переменной k минус единицу (k=-1) - будет верно.
Есть ещё какие-нибудь способы?
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:58 #9
delete
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
04.02.2011, 17:59 #10
Вы задание уточните - вам нужна сумма четных элементов последовательности (2, 2, 3, 4. сумма=8) или сумма элементов, стоящих на четных позициях (2, 2, 3, 4. сумма=6)
ЛазаретЪ
1 / 1 / 0
Регистрация: 04.02.2011
Сообщений: 30
04.02.2011, 18:02  [ТС] #11
нужна сумма четных элементов последовательности
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
04.02.2011, 20:27 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
        int i, k=0;
        float sum=0;
        do
        {
                cout<<"Enter number: ";
                cin>>i;
                if (i%2==0)
                {
                        sum+=i;
                        k++;
                }
        }
        while (i!=0);
        cout<<"Rezultat: "<<sum<<"/"<<k-1<<" ="<<float(sum/(k-1))<<endl;
        return 0;
}
"например 1,2,3,4,5,6,0 выводится 12/4=3.00"
это потому, что когда вы вводите 0, цикл все рано выполняется, а 0 считается четным числом 0%2=0...
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
06.02.2011, 19:40 #13
i%2 возвращает либо 1, либо 0, вот и сравниваем с нулем, чтобы чётность посмотреть...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2011, 19:40
Привет! Вот еще темы с ответами:

[C++] Вычислить арифметическое выражение - C++
Вычислить арифметическое выражение, заданное в формате строки. Строка может содержать целые числа, а также операции сложения и...

Вычислить среднее арифметическое - C++
Я воще не въезжаю как это все сделать((((помогите пожалуйста, Задание вот: Вычислить среднее арифметическое значение отрицательных...

Вычислить арифметическое выражение - C++
Помогите пожалуйста :boredom: Нужно разработать консольное приложение для вычисления арифметического выражения. Использовать функции...

Вычислить среднее арифметическое - C++
Ребята, помогите плиз, срочно #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;windows.h&gt; #include &lt;ctime&gt; using namespace...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.02.2011, 19:40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru