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

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

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

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

07.09.2014, 17:06. Просмотров 647. Ответов 15
Метки нет (Все метки)

Помогите пожалуйста с решением задачи.
Нужно записать все неизвестные в одной программе.
У меня получилось найти произведение и сумму, доработайте пожалуйста

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
#include <iostream>                              
#include <cstdlib>
 
using namespace std;
 
int main (void)
{
    setlocale(LC_ALL, "Russian");
    int i;
    int sum = 0, prod = 1;
    cout << "Введите число: ";
    cin >> i;
 
    while (!cin.eof())
    {
        if (i < 0)  sum += i;// Сумма отрицательных
        if (i < 0)  prod *= i;//Произведение отрицательных
        cout << "Введите число: ";
        cin >> i;
    }
 
    cout << "Сумма отрицательных чисел: " << sum
         << "\n Произведение отрицательных чисел: " << (prod == 1 ? 0 : prod);
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2014, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество, сумму и произведение отрицательных чисел (C++):

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

Определить количество отрицательных чисел в каждой строке матрицы и их сумму - C++
Помогите решить в Borland c++ Если можно еще блок-схему Задана матрица целых чисел. Определить количество отрицательных чисел в...

Найти сумму отрицательных чисел кратных 2м и определить количество рядов содержащих 0 - C++
В двумерном массиве 7х2 нужно найти сумму отрицательных чисел кратных 2м и определить количество рядов содержащих 0 В общем долго парюсь...

Необходимо определить количество десятков,единиц,сумму и произведение его чисел - C++
2.Пользователь вводит двухзначное число,для которого необходимо определить количество десятков,едениц,сумму и произведение его чисел.

Найти количество отрицательных чисел, количество нулевых и подсчитать сумму положительных чисел - C++
Т.к. я полный 0 в этом, вынужден обратиться к профи) надеюсь на вашу помощь. 1. Произвести следующую обработку 15 целых чисел: найти...

Найти произведение всех положительных чисел массива, и количество отрицательных чисел - C++
Помогите, пожалуйста, с заданием по с++. Найти произведение всех положительных чисел массива {a i}, где i=1,2,...,13, и подсчитать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
07.09.2014, 17:23 #2
У меня получилось найти произведение и сумму
тo есть тебе осталось узнать количество веденных чисел?
dvl6k
6 / 6 / 5
Регистрация: 31.08.2014
Сообщений: 31
07.09.2014, 17:26 #3
AlexSvyatchenko, можете поточнее сформулировать задачу.

И, еще такой вопрос. С какой целью, вы, использовали вот это:
C++
1
while (!cin.eof())
zss
Модератор
Эксперт С++
6364 / 5928 / 1923
Регистрация: 18.12.2011
Сообщений: 15,236
Завершенные тесты: 1
07.09.2014, 17:26 #4
Аналогично
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int sum = 0, prod = 1,amount=0;
    cout << "Введите число: ";
    cin >> i;
 
    while (!cin.eof())
    {
        if (i < 0)  
        {
                    sum += i;// Сумма отрицательных
                    prod *= i;//Произведение отрицательных
                    amount++; //  Количество отрицательных
        }
        cout << "Введите число: ";
        cin >> i;
    }
AlexSvyatchenko
0 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 16
07.09.2014, 17:26  [ТС] #5
Мне нужно узнать кол-во введённых отрицательных чисел.
Holmes
5 / 5 / 1
Регистрация: 24.08.2014
Сообщений: 78
07.09.2014, 17:27 #6
Просто в блок If вставьте счетчик (count++)
Holmes
5 / 5 / 1
Регистрация: 24.08.2014
Сообщений: 78
07.09.2014, 17:28 #7
как написал zss,
C++
1
2
3
4
5
6
if (i < 0)  
        {
                    sum += i;// Сумма отрицательных
                    prod *= i;//Произведение отрицательных
                    amount++; //  Количество отрицательных
        }
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
07.09.2014, 17:28 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    setlocale(LC_ALL, "Russian");
    int i;
    int sum = 0, prod = 1, amount = 1;
    cout << "Введите число: ";
    cin >> i;
 
    while (!cin.eof())
    {
        if (i < 0)  sum += i;// Сумма отрицательных
        if (i < 0)  prod *= i;//Произведение отрицательных
        if(i < 0) amount++;
        cout << "Введите число: ";
        cin >> i;
    }
dvl6k
6 / 6 / 5
Регистрация: 31.08.2014
Сообщений: 31
07.09.2014, 17:47 #9
У меня такой вопрос. А как в данной программе, выйти из бесконечного цикла ввода. Ведь, ниодной процедуры выхода не предусмотренно... Или я чего-то не понимаю?

Добавлено через 12 минут
Все.. на мой вопрос отвечать не надо, сам разобрался, процедура выхода Ctrl+Z.
zss
Модератор
Эксперт С++
6364 / 5928 / 1923
Регистрация: 18.12.2011
Сообщений: 15,236
Завершенные тесты: 1
07.09.2014, 18:17 #10
Цитата Сообщение от wrone Посмотреть сообщение
amount = 1;
Обоснуйте!
Считать количество надо с нуля.
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
07.09.2014, 18:34 #11
Цитата Сообщение от zss Посмотреть сообщение
Обоснуйте!
Считать количество надо с нуля.
случайно присвоил единицу, извиняюсь
zss
Модератор
Эксперт С++
6364 / 5928 / 1923
Регистрация: 18.12.2011
Сообщений: 15,236
Завершенные тесты: 1
07.09.2014, 19:06 #12
Цитата Сообщение от wrone Посмотреть сообщение
случайно присвоил единицу,
Тогда я не вижу разницы с моим кодом за исключением двух лишних проверок на i<0
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
07.09.2014, 21:19 #13
Цитата Сообщение от zss Посмотреть сообщение
Тогда я не вижу разницы с моим кодом за исключением двух лишних проверок на i<0
Когда я это писал, вашего кода я не видел, не обновил страничку. Вы правы, разницы нету, за исключением двух лишних проверок. В следующий раз буду внимательней
AlexSvyatchenko
0 / 0 / 0
Регистрация: 07.09.2014
Сообщений: 16
08.09.2014, 19:41  [ТС] #14
Помогите ещё с одним вопросиком, как написать эту программу через оператор for, чтоб можно было вводить запросы определённое кол-во раз?
dvl6k
6 / 6 / 5
Регистрация: 31.08.2014
Сообщений: 31
08.09.2014, 19:52 #15
все тоже самое, но вместо:
C++
1
 while (!cin.eof())
используй цикл for:
C++
1
2
3
4
int val; 
cout<< "Введите количество, вводимых чисел: ";
cin<<val;
for(int j=0; j<val; j++) // Это вписать вместо while
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2014, 19:52
Привет! Вот еще темы с ответами:

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

Найти сумму положительных и произведение отрицательных чисел - C++
8. Даны восемь чисел. Найти сумму положительных и произведение отрицательных чисел. #include &lt;stdio.h&gt; #include &lt;iostream&gt; ...

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

Определить произведение отрицательных элементов матрицы и их количество - C++
Заданы две матрицы А={aij} размерности n*n и B={bij} размерности n*g. Для каждой из них определить произведение отрицательных элементов...


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

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

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