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

Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) - C++

Восстановить пароль Регистрация
 
Soull
18 / 4 / 0
Регистрация: 21.10.2012
Сообщений: 60
20.12.2012, 16:41     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) #1
ребята, помогииите)))
для одномерного массива А(n) найти произведение последних членов этого массива, сумма которых будет не больше чем число С, где 0 <= n <= 40, число С вводится с клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 16:41     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С)
Посмотрите здесь:

Перевод из Pascal. Одномерный массив (сумма, произведение) C++
Определить, можно ли в заданной матрице найти столбец, удовлетворяющий условию C++
C++ Определить количество 8-значных чисел,у которых сумма цифр в цифровой записи числа больше,чем N.
Сумма элементов массива, у которых сумма индексов, на которых они находятся, - четное число. Проверить код C++
C++ Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + . + 1/N будет больше A, и саму эту сумму
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Alexander
12 / 12 / 1
Регистрация: 05.11.2012
Сообщений: 49
20.12.2012, 16:54     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) #2
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int N = 40;
    int array[N],i,C , num = 1;
    for(i=0;i<N;i++)
            {
                         cout<<"Input array["<<i<<"]: ";
                         cin>>array[i];             
            }
            cout<<"Input C: ";
            cin>>C;
            for(i=N-1;i>-1;i--)
            {
                 if(num * array[i] < C)
                 {
                        num *= array[i];  
                        cout<<array[i]<<" * "<<num<<endl;     
                 }        
                 else
                     break;      
            }
            cout<<num;
    system("PAUSE");
    return EXIT_SUCCESS;
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
20.12.2012, 16:59     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) #3
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
#include<iostream>
 
using namespace std;
 
int main() {
    const int N = 10;
    int arr[N];
 
    int a;
    cin >> a;
 
 
    for(int i = 0; i < N; ++i) {
        cin >> arr[i];
    }
 
    int mul = 1;
    int sum = 0;
 
    for(int i = N - 1; sum < a && i >= 0; --i, sum += arr[i]) {
        sum += arr[i];
        mul *= arr[i];
 
        if(i == 0) {return 0;}
    }
 
    cout << mul;
 
    return 0;
}
Soull
18 / 4 / 0
Регистрация: 21.10.2012
Сообщений: 60
20.12.2012, 17:03  [ТС]     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) #4
Спасииииибо огромнейщее))))))))))))))
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 17:08     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С) #5
sovaz1997, зачем сумма по два раза за итерацию увеличивается?
Yandex
Объявления
20.12.2012, 17:08     Одномерный массив (произведение последних членов, сумма которых будет не больше чем число С)
Ответ Создать тему
Опции темы

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