Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
ЛазаретЪ
1 / 1 / 1
Регистрация: 04.02.2011
Сообщений: 30
1

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

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

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

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

Цикл: вычислить среднее арифметическое элементов последовательности, значения которых находятся в заданном интервале
Задача: Дана послідовніть з н цілих чисел. Обчисліть середнє арифметичне чисел, значення яких...

Цикл: вычислить среднее арифметическое элементов последовательности, значения которых находятся в заданном интервале
Задача: Дана последовательность из n целых чисел. Вычислить среднее арифметическое чисел,...

Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Напишите пожалуйста код для данной задачки с помощью цикла while Вывести числа в пользовательском...

Цикл: Вычислить арифметическое выражение
Напишите решения пожалуйста этой задачи на с#

12
almazsr
233 / 170 / 25
Регистрация: 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;
}
1
NNN777
301 / 159 / 62
Регистрация: 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 / 1 / 1
Регистрация: 04.02.2011
Сообщений: 30
04.02.2011, 17:14  [ТС] 4
А можно то же самое, но с printf и scanf ?
0
04.02.2011, 17:14
asics
Freelance
Эксперт С++
2864 / 1799 / 355
Регистрация: 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;
}
1
Nameless One
Эксперт С++
5794 / 3443 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
04.02.2011, 17:33 6
Цитата Сообщение от asics Посмотреть сообщение
"Rezultat:\n %0.0f/ %d = %0.2f"
Наверно, подразумевалось так: "Rezultat:\n %0.2f/ %d = %0.2f"
0
asics
Freelance
Эксперт С++
2864 / 1799 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:41 7
Nameless One, Но сума целых чисел, будет целое число, зачем там два нуля писать ?
0
ЛазаретЪ
1 / 1 / 1
Регистрация: 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) - будет верно.
Есть ещё какие-нибудь способы?
0
asics
Freelance
Эксперт С++
2864 / 1799 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:58 9
delete
0
NNN777
301 / 159 / 62
Регистрация: 27.02.2010
Сообщений: 317
04.02.2011, 17:59 10
Вы задание уточните - вам нужна сумма четных элементов последовательности (2, 2, 3, 4. сумма=8) или сумма элементов, стоящих на четных позициях (2, 2, 3, 4. сумма=6)
0
ЛазаретЪ
1 / 1 / 1
Регистрация: 04.02.2011
Сообщений: 30
04.02.2011, 18:02  [ТС] 11
нужна сумма четных элементов последовательности
0
NNN777
301 / 159 / 62
Регистрация: 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...
1
Ma3a
Эксперт С++
619 / 463 / 57
Регистрация: 28.01.2011
Сообщений: 605
06.02.2011, 19:40 13
i%2 возвращает либо 1, либо 0, вот и сравниваем с нулем, чтобы чётность посмотреть...
0
06.02.2011, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2011, 19:40

Вычислить среднее арифметическое чисел от n до m. Цикл с параметром.
При помощи for...do Вычислить среднее арифметическое чисел от n до m

Цикл: вычислить среднее арифметическое четных чисел на отрезке AB
В школе задали такую задачу: вычислите среднее арифметическое четных чисел на отрезке AB ...

Цикл итерационный: вычислить среднее арифметическое цифр в записи натурального числа
вычислить среднее арифметическое цифр в записи натурального числа N, которое являются степенями...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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