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

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

Войти
Регистрация
Восстановить пароль
 
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
#1

Определить количество и сумму членов последовательности - C++

05.09.2012, 14:48. Просмотров 949. Ответов 7
Метки нет (Все метки)

Даны натуральное n и целые числа a(1), a(2),...,a(n). Определить количество и сумму членов последовательности a(i), которые делятся на 5 и не делятся на 7.

P.S. Необходимо написать без использования массива, помогите, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество и сумму членов последовательности (C++):

4. Найти сумму К членов последовательности: 3, 7, 11, 15,… Вычислить сумму членов последовательности 1, 4, 7, 10, …, не превосходящих числа К - C++
надо консольное приложение , без рандомайза функций и процедур в делфи

Вывести количество введенных членов последовательности и их сумму - C++
Программа получает на вход последовательность целых неотрицательных чисел. Как только вводится число 0 программа должна закончить свою...

Определить количество членов Ak последовательности a1,a2,..an - C++
Даны натуральные числа Ai={a1,a2,...an} Определить количество членов Ak последовательности a1,a2,..an , являющихся 1) нечетными числами;...

Определить сумму и произведение членов последовательности - C++
Всем привет Уважаемые пользователи помогите сделать задачу (С + + или Visual C + +) если не трудно. Вот у меня произошла проблема в...

Получить число отрицательных членов последовательности и сумму нулевых членов последовательности - C++
Помогите решить, данные задачки: 1. Даны целые числа a1,..., a15. Получить число отрицательных членов последовательности и сумму нулевых...

Получить сумму отрицательных и количество положительных членов последовательности - C++
Ребята выручайте! 2.Даны натуральное число n, действительные числа A1,A2,...,An. Получить: сумму отрицательных и количество...

7
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
05.09.2012, 15:05 #2
Если последовательность вида:
1, 2, 3, ..., n
то можно так написать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() {
    unsigned n, sum = 0, count = 0;
 
    cout << "Введите n" << endl;
    cin >> n;
 
    for( unsigned i = 1; i <= n; ++i )
        if ( i % 5 == 0 && i % 7 != 0 ){
            ++count;
            sum += i;
        }
 
    cout << "Количество = " << count << " Сумма = " << sum << endl;
 
    return 0;
}
Консоль
Введите n
36
Количество = 6 Сумма = 105
1
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
21.09.2012, 00:14  [ТС] #3
Roof, а как быть если последовательность задается пользователем с клавиатуры? не подскажешь?
0
Fler
208 / 210 / 9
Регистрация: 20.12.2011
Сообщений: 635
21.09.2012, 00:21 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int kmax = 0, smax = 0, k = 0, s = 0, n, a;
    cout << "n="; cin >> n;
    for(int i=1;i<=n;i++)
    {
        cout << "a" << i << "="; cin >> a;
        if(!(a%5)&&a%7)
        {
            k++;
            s += a;
        }
        if(a%5 || !(a%7) || i == n)
        {
            if(k>kmax)
            {
                kmax = k;
                smax = s;
                k = 0;
                s = 0;
            }
        }
    }
    cout << "kol = " << kmax << endl;
    cout << "sum = " << smax << endl;
    getch();
    return 0;
}

P.S. в этой реализации учитываются элементы, которые идут подряд
из таких последовательностей выбирается максимальная
1
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
21.09.2012, 00:52  [ТС] #5
Fler, как здесь исправить условие кратности 5 и не кратности 7???

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
# include <locale>
using namespace std;
 
int main() 
{   
    setlocale(LC_ALL,"");
    int n,a,i, sum = 0, count = 0;
    cout << "Введите n" << endl;
    cin >> n;
        if (n = 0)
                {
                    cout << "\n некорректное n (n < 1)\n";
                    return 0;
                }
        if(n>1)
        {
            for ( i=1;i<=n;i++)
            {
            cout<< "a"<<i<<"=";
            cin>>a;
            }
            
        }
    
    for(i=0;i<n;i++)
    {
        if(a%5==0 && a%7!=0)
        {
            count++;
            sum+=a;
        }
    }
 
    cout << "Количество = " << count << " Сумма = " << sum << endl;
 
    return 0;
}
0
Fler
208 / 210 / 9
Регистрация: 20.12.2011
Сообщений: 635
21.09.2012, 00:56 #6
не совсем понял, что Вам непонятно, но в глаза почему-то сразу бросилось:

C++
1
if(n = 0)
замените на
C++
1
if(n == 0)
про кратности:
a % k это остаток от деления a на k
если остаток 0, то делится

Добавлено через 2 минуты
плюс ко всему Вы вводите n раз число в одну и ту же переменную, просто-напросто перезаписывая её, а потом n раз проверяете на кратность последнюю введённую

делайте это всё в одном цикле


ну и по Вашей логике, n является некорректным, если оно меньше 1. Поэтому замените условие во втором if вместе больше 1 поставьте больше либо равно(>=)


в итоге как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (n == 0)
        {
            cout << "\n некорректное n (n < 1)\n";
            return 0;
        }
        if(n>=1)
        {
            for ( i=1;i<=n;i++)
            {
              cout<< "a"<<i<<"=";
              cin>>a;
              if(a%5==0 && a%7!=0)
              {
                count++;
                sum+=a;
              }
            }
        }
cout << "Количество = " << count << " Сумма = " << sum << endl;
1
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
21.09.2012, 00:57  [ТС] #7
Fler, if(n=0) это слупил мне нужно как то исправить вот этот код
C++
1
2
3
4
5
6
7
8
 for(i=0;i<n;i++)
    {
        if(a%5==0 && a%7!=0)
        {
            count++;
            sum+=a;
        }
    }
у меня не получается запустить этот цикл
0
Fler
208 / 210 / 9
Регистрация: 20.12.2011
Сообщений: 635
21.09.2012, 01:01 #8
пост выше дописал
Ваш вариант приемлим при использовании массивов, за исключением того, что вместо a использовалось бы a[ i ]
ну и индексы нужно было бы одинаковые использовать
1
21.09.2012, 01:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 01:01
Привет! Вот еще темы с ответами:

Найти количество и сумму всех членов последовательности (используя do...while) - C++
Дана последовательность чисел a1, a2, a3, .... Количество элементов в последовательности заранее неизвестно. Надо написать программу с...

Найти сумму и количество тех членов последовательности, которые делятся на 7 - C++
У нас контрольная:( помогите плиз. Написать программу которая вычесляет формулу y={3x^2+ 2x-4, если x&gt;=0, 3x^3+ 2sin(x)-4, если x&lt;0. ...

Определить количество членов последовательности целых чисел - C++
Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность...

Определить количество членов последовательности, являющихся нечётными. - C++
Дано целое число n, и действительные числа а1…аn. Определить количество членов последовательности, являющихся нечётными.


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

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

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