С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 14
1

С клавиатуры вводится два числа. Найти произведение цифр этих чисел

28.10.2014, 12:56. Показов 5437. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
с клавиатуры вводится два целый числи. найти произведение цифр этих чисел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2014, 12:56
Ответы с готовыми решениями:

Даны два натуральных числа a, b. Найти разность и произведение суммы цифр этих чисел
Даны два натуральных числа a, b. Найти разность и произведение суммы цифр этих чисел. Вычисление...

Ввести с клавиатуры два числа и произведение этих чисел.
Ввести с клавиатуры два однозначных числа и значение произведения этих чисел. Проверить ответ и...

С клавиатуры вводится N целых чисел a1, a2,….,aN. Найти сумму этих чисел. Найти номер первого четного числа последовательности чисел.
Решить задачу 3 способами: 1. Используя метки и оператор goto (не используя никакой цикл) 2....

Длинная арифметика. Умножение. Вводятся два числа длиной 0<n<255 . Найти произведение этих чисел
Длинная арифметика. Умножение. Вводятся два числа длиной 0&lt;n&lt;255 . Найти произведение этих чисел

11
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
28.10.2014, 13:40 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
#include <iostream>
#include <string>
 
using namespace std;
int proizved(string str)
{
    int pr=1;
        for (int i=0;i<str.length();i++)
            {
            pr=pr*(str[i]-'0'); 
            }
    return pr;
}
 
int main()
{
    string str,str1;
    cout<<"1-e 4islo=";
    cin>>str;
    cout<<"2-e 4islo=";
    cin>>str1;
    cout<<"proizv 1-e="<<proizved(str)<<endl;
    cout<<"proizv 2-e="<<proizved(str1)<<endl;
    system("pause");
    
return 0;
}
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
28.10.2014, 14:03 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
#include <iostream>
 
 
int i, itog;
 
int mult(int a)
{
    i = a;
    itog = 1;
    while (i > 0)
    {
        itog *= i % 10;
        i = i / 10;
    }
    if (a == 0) itog = 0;
    return itog;
}
 
int main()
{
    int a, b;
    std::cout << "Vvedite A i B" << std::endl;
    std::cin >> a >> b;
    std::cout << mult(a)*mult(b) << std::endl;
    system("pause");
    return 0;
}
0
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
28.10.2014, 14:07 4
ай я тупак хД я думал что числа сначала в виде строки входят...
0
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 14
29.10.2014, 15:49  [ТС] 5
Цитата Сообщение от Mr_Progger Посмотреть сообщение
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>
 
 
int i, itog;
 
int mult(int a)
{
    i = a;
    itog = 1;
    while (i > 0)
    {
        itog *= i % 10;
        i = i / 10;
    }
    if (a == 0) itog = 0;
    return itog;
}
 
int main()
{
    int a, b;
    std::cout << "Vvedite A i B" << std::endl;
    std::cin >> a >> b;
    std::cout << mult(a)*mult(b) << std::endl;
    system("pause");
    return 0;
}
при вводе чисел например 740 11 выдает 0 , а программа должна перемножать только значащие цифры, помогите ((((((((((

Добавлено через 7 минут
Цитата Сообщение от Kverter Посмотреть сообщение
ай я тупак хД я думал что числа сначала в виде строки входят...
При вводе например -12 21 выдает 2, а должен -4
0
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
29.10.2014, 16:08 6
tunna, переделал код Mr_Progger, попробуй
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>
 
 
int i, itog;
 
int mult(int a)
{
    i = a;
    itog = 1;
    while (i != 0)
    {
        if(i%10!=0)
        itog *= i % 10;
        i = i / 10;
    }
    if (a == 0) itog = 0;
    if(a<0)    return 0-itog;
    return itog;
}
 
int main()
{
    int a, b;
    std::cout << "Vvedite A i B" << std::endl;
    std::cin >> a >> b;
     std::cout << mult(a)<<std::endl;
     std::cout << mult(b)<<std::endl;
    std::cout << mult(a)*mult(b) << std::endl;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 14
29.10.2014, 16:28  [ТС] 7
Цитата Сообщение от Kverter Посмотреть сообщение
tunna, переделал код Mr_Progger, попробуй
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>
 
 
int i, itog;
 
int mult(int a)
{
    i = a;
    itog = 1;
    while (i != 0)
    {
        if(i%10!=0)
        itog *= i % 10;
        i = i / 10;
    }
    if (a == 0) itog = 0;
    if(a<0)    return 0-itog;
    return itog;
}
 
int main()
{
    int a, b;
    std::cout << "Vvedite A i B" << std::endl;
    std::cin >> a >> b;
     std::cout << mult(a)<<std::endl;
     std::cout << mult(b)<<std::endl;
    std::cout << mult(a)*mult(b) << std::endl;
    system("pause");
    return 0;
}
Ввожу:
550 -12
Выводит :
25
-2
-50

Добавлено через 52 секунды
и так с любыми комбинациями , выводит какие-то 3 цифры друг за другом
0
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
29.10.2014, 16:58 8
tunna, убери вот эти строки
C++
1
2
std::cout << mult(a)<<std::endl;
     std::cout << mult(b)<<std::endl;
0
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 14
29.10.2014, 17:27  [ТС] 9
Цитата Сообщение от Kverter Посмотреть сообщение
tunna, убери вот эти строки
C++
1
2
std::cout << mult(a)<<std::endl;
     std::cout << mult(b)<<std::endl;
Теперь ввожу 55 -2
выдает 50 , а должен -50
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
29.10.2014, 18:50 10
Цитата Сообщение от tunna Посмотреть сообщение
при вводе чисел например 740 11 выдает 0 , а программа должна перемножать только значащие цифры
С каких пор НОЛЬ не значащие число?
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
#include <iostream>
 
 
int i, itog;
 
int mult(int a)
{
    i = abs(a);
    itog = 1;
    while (i > 0)
    {
        if (i%10!=0)
        itog *= i % 10;
        i = i / 10;
    }
    if (a < 0) itog *= -1;
    return itog;
}
 
int main()
{
    int a, b;
    std::cout << "Vvedite A i B" << std::endl;
    std::cin >> a >> b;
    std::cout << mult(a)*mult(b) << std::endl;
    system("pause");
    return 0;
}

Не по теме:


А вообще доходчивое формулирования своих мыслей хорошая штука

0
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 14
29.10.2014, 21:37  [ТС] 11
убрала , но все равно про вводе -99999 99999 он выводит совсем не то
0
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
29.10.2014, 21:55 12
Смените тип данных во всех переменных включая и саму функцию на тип long long
0
29.10.2014, 21:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2014, 21:55
Помогаю со студенческими работами здесь

С клавиатуры вводится N целых чисел a1, a2,….,aN. Найти сумму этих чисел. Вывести на экран в процессе ввода чисел: a1+a2, a2+a3, …. aN-1+aN
Помогите, пожалуйста! Решить задачу 3 способами: 1. Используя метки и оператор goto (не...

Найти произведение нечётных чисел от 1 до n, где n <= 10 и вводится с клавиатуры.
Найти произведение нечётных чисел от 1 до n, где n &lt;= 10 и вводится с клавиатуры.

Даны два действительных числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел
Даны два действительных числа. Найти среднее арифметическое кубов этих чисел и среднее...

Файл содержит числа, количество вводится с клавиатуры. Создать второй файл, содержащий квадраты этих чисел в обратном порядке
Задача : Файл содержит числа, количество вводится с клавиатуры. Создать второй файл, содержащий...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru