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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Викулька
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 33
#1

Массивы. Найти произведение только тех чисел, которые больше заданного числа М. - C++

26.02.2012, 20:30. Просмотров 1771. Ответов 9
Метки нет (Все метки)

Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. если таких нет, то выдать сообщение об этом.
Массив задать рандомно.
Помогите парни!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы. Найти произведение только тех чисел, которые больше заданного числа М. (C++):

Найти произведение только тех чисел, которые больше заданного числа М - C++
дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. Если таких нет...

Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М - C++
Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. если таких нет,...

Найти произведение только тех чисел, которые больше заданного M - C++
Дана матрица A(M,N) целых положительных чисел. найти произведение только тех из них которые больше заданного M. если таких нет то выдать...

Найти произведение только тех элементов последовательности, которые больше заданного числа М - C++
Дана последовательность целых положительных чисел. Найти произведение только тех из них, которые больше заданного числа М. Если таких чисел...

Накопить произведение только тех чисел из ряда, которые заканчиваются на цифру 1 - C++
1. Даны числа натурального ряда от 4 до 100, накопить произведение только тех чисел из этого ряда, которые заканчиваются на цифру 1. И...

Найти сумму тех вещественных чисел, которые больше p - C++
Даны натуральное число n и вещественные b1, b2, ..., bn. Найти сумму тех вещественных чисел, которые больше p. Код на с++. Никак не пойму я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
LK
26.02.2012, 20:36
  #2
 Комментарий модератора 
Викулька, Правила
3.3. Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
Изначальное название темы: "Массивы".
Викулька
0 / 0 / 0
Регистрация: 09.06.2011
Сообщений: 33
26.02.2012, 20:49  [ТС] #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
31
32
33
34
35
36
37
//—————————————————————————————————————-
 
#pragma hdrstop
#include <conio.h>
#include <iostream>
using namespace std;
 
//—————————————————————————————————————-
 
#pragma argsused
int main(int argc, char* argv[])
{
int M,S=1;
int i,n,mas[10];
cout<<"MAS OT 0 DO ";cin>>n;
for(i=0; i<10; i++)
{
mas[i]=rand()%n;
cout<<"Mas["<<i<<"] = "<<mas[i]<<endl;
}
cout<<endl<<"Input M - ";cin>>M;
for(int i=0; i<10; i++)
{
if(mas[i]>M)
{
S=S*mas[i];
cout<<"["<<i<<"] - "<<mas[i]<<endl; //Proverca kakie element ymnosaet
}
}
if(S==1)
cout<<"null"<<endl;
else
cout<<"* - "<<S<<endl;
_getch ();
return 0;
}
//—————————————————————————————————————-
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,227
Завершенные тесты: 1
26.02.2012, 21:22 #4
Компилируется и исполняется без ошибок.
А что, у Вас не получается?
__bool
285 / 226 / 6
Регистрация: 13.06.2010
Сообщений: 744
29.02.2012, 12:57 #5
Консольную?

Добавлено через 8 минут
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
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    randomize();
    const short N = 20; // Размер массива
    int A[N]; // Целочисленный массив из N элементов
    int M,
        Count=0; // Для подсчетка кол-ва + играет роль флага: есть/нет элементов
    long double Res=1; // Res - результат произдведения элементов
    cout << "Input M: ";
    cin >> M;
    for (int i = 0; i < N; ++i) {
        A[i] = rand()%10; // Генерируем случайные значения
        cout << A[i] << "\t"; // И сразу выводим
        // Если значение элемента массива больше заданного числа M, умножаем
        if (A[i] > M) {
            ++Count;
            Res*=A[i];
        }
    }
 
    cout << "\n\nResult: ";
    // Если нет совпадений
    if (!Count) { // Выводим сообщение об отсутствии
        cout << "No such values";
    }else{ // Иначе выводим результат произведения
        cout << Res;
    }
    cout << "\n\n";
    system("pause");
 
    return 0;
}
Добавлено через 16 часов 26 минут
Поправил код..
long double Res; - потому что если брать int/long int возможен выход за предел диапазона..
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
29.02.2012, 13:25 #6
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <vector>
#include <ctime>
 
int main()
{
    srand(time(0));
    int m, pr = 1;
    std::cin>>m;
    std::vector <int> vec(15);
    std::generate(vec.begin(), vec.end(), [] () { return rand()%10; });
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::for_each(vec.begin(), vec.end(), [&pr, &m] (int num) -> int
    {
        if(num > m)
            pr *= num;
        return num;
    });
    std::cout<<"\nPr = "<<pr<<std::endl;
    system("pause");
    return 0;
}
__bool
285 / 226 / 6
Регистрация: 13.06.2010
Сообщений: 744
29.02.2012, 13:28 #7
Dekio, я полагаю зря я не выучил STL?
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
29.02.2012, 13:31 #8
__bool, многие задачи можно легко решить через STL или Tulip
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
01.03.2012, 18:33 #9
Dekio,
Цитата Сообщение от Викулька Посмотреть сообщение
если таких нет, то выдать сообщение об этом.
еще одного bool не хватает.
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
01.03.2012, 22:10 #10
Цитата Сообщение от valeriikozlov Посмотреть сообщение
еще одного bool не хватает.
можно и без него обойтись

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>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <vector>
#include <ctime>
 
int main()
{
    srand(time(0));
    int m, res = 1;
    std::cin>>m;
    std::vector <int> vec(15);
    std::generate(vec.begin(), vec.end(), [] () { return rand()%10 + 1; });
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    if(std::find_if(vec.begin(), vec.end(), [m] (int num) { return num > m; }) != vec.end())
    {
        std::for_each(vec.begin(), vec.end(), [&res, m] (int num) -> int
        {
            if(num > m)
                res *= num;
            return num;
        });
        std::cout<<std::endl<<"Result = "<<res<<std::endl;
    }
    else
        std::cout<<std::endl<<"All elements less than m"<<std::endl;
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 22:10
Привет! Вот еще темы с ответами:

Определить среднее арифметическое тех чисел заданной последовательности, которые больше некоторого числа n - C++
Даны натуральное число 'x' и целые числа 'a1,a2, ..., ax'. Определить среднее арифметическое тех чисел ai, которые больше некоторого числа...

Найти произведение элементов массива, больше заданного числа А - C++
Новичок в С++, пока даже лекций по циклам не было, но уже дали задание. Не представляю себе, что написать в цикле (можно if и while...

Составьте программу, которая выводит индексы тех элементов массива (состоящего из В целых чисел), значение которых больше заданного числа А - C++
Составьте программу, которая выводит индексы тех элементов массива (состоящего из В целых чисел), значение которых больше заданного числа...

В одномерном массиве из 10 вещественных чисел заменить все элементы, которые больше заданного числа х - C++
Помогите решить на С++ пожалуйста 1. В одномерном массиве из 10 вещественных чисел заменить все элементы, которые больше заданного числа...


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

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

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