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

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

Восстановить пароль Регистрация
 
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
05.09.2012, 14:48     Определить количество и сумму членов последовательности #1
Даны натуральное n и целые числа a(1), a(2),...,a(n). Определить количество и сумму членов последовательности a(i), которые делятся на 5 и не делятся на 7.

P.S. Необходимо написать без использования массива, помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 14:48     Определить количество и сумму членов последовательности
Посмотрите здесь:

Найти количество и сумму всех членов последовательности (используя do...while) C++
C++ Определить, максимальное количество подряд идущих отрицательных членов последовательности.
Определить сумму и произведение членов последовательности C++
C++ Определить сумму положительных и число отрицательных членов данной последовательности
Получить сумму отрицательных и количество положительных членов последовательности C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roof
 Аватар для 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
Yakov112
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 69
21.09.2012, 00:14  [ТС]     Определить количество и сумму членов последовательности #3
Roof, а как быть если последовательность задается пользователем с клавиатуры? не подскажешь?
Fler
207 / 209 / 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. в этой реализации учитываются элементы, которые идут подряд
из таких последовательностей выбирается максимальная
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;
}
Fler
207 / 209 / 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;
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;
        }
    }
у меня не получается запустить этот цикл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 01:01     Определить количество и сумму членов последовательности
Еще ссылки по теме:

C++ Вывести количество введенных членов последовательности и их сумму
C++ Определить количество членов последовательности целых чисел
C++ Определить количество членов последовательности удовлетворяющих заданному условию

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

Или воспользуйтесь поиском по форуму:
Fler
207 / 209 / 9
Регистрация: 20.12.2011
Сообщений: 635
21.09.2012, 01:01     Определить количество и сумму членов последовательности #8
пост выше дописал
Ваш вариант приемлим при использовании массивов, за исключением того, что вместо a использовалось бы a[ i ]
ну и индексы нужно было бы одинаковые использовать
Yandex
Объявления
21.09.2012, 01:01     Определить количество и сумму членов последовательности
Ответ Создать тему
Опции темы

Текущее время: 18:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru