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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.90
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
#1

Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз - C++

19.09.2012, 21:38. Просмотров 3930. Ответов 24
Метки нет (Все метки)

Видел похожу здесь на форуме но она на pascale как писать в c++ я не понял.
Дано натуральное число. Найти произведение четных цифр этого числа. Верно ли, что число со-держит данную цифру А более двух раз (А вводить с клавиатуры).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2012, 21:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз (C++):

Дано натуральное число n. Верно ли, что сумма цифр этого числа является чётной - C++
У меня никак не получается сделать эту лабу. Очень прошу.срочно 1. Дано натуральное число n. Верно ли, что сумма цифр этого числа...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!! - C++
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!...

Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) - C++
Составить программу. выполняющую операции целочисленной арифметики Определить вторую цифру дробной части частного от деления суммы...

Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение цифр совпадает с произведением цифр данного числа - C++
Помогите, пожалуйста!!! А то у меня не получается( Написал программу, когда ввожу число 32 как в примере выводит только 16, а 6 и 23 не...

Найти числа, встречающиеся более двух раз (исправить вывод) - C++
Здравствуйте форумчане) Делаю лабу по программирвоанию, всё написал и даже работает но вывод результата очень корявый(неправильный),...

Найти все трехзначные числа: "Само число и сумма цифр этого числа делятся на одно и то же число P" - C++
Помогите решить задачу :Найти все целые 3-х знатные числа,удовлетворяющие условию:Само число и сумма цифр этого числа делятся на одно и то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 16:04 #16
При каком числе результат неверный?

Например число 4044 как цикл выводит четные цифры данного числа.
сколько будет 4044/10? А на 100? 404.4 и 40.44 соответственно. Т.к. мы выполняем целочисленное деление, то результат выходит целый: 404 и 40. Это что касается:
n/=10; //или по=другому n=n/10;
В результате вскоре n будет = 0, на этом цикл и завершается.
n%10 - это остаток от деления (операция % все равно что mod в паскале (если изучали))
4044%10 = 4, 4044%100 = 44 и т.д. Но нам не нужен остаток более 1 цифры, поэтому мы в конце цикла отсекаем последнюю цифру, чтобы взять следующую.
1
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:13  [ТС] #17
Использовал ваш первичный код, только немного исправил, единственное произведение надо вывести ,как я понял это переменная prod у вас, и в консоли всегда 0 стоит произведение
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:16 #18
freshness, а когда объявляли prod, не забыли его сразу же =1 сделать?
1
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:22  [ТС] #19
Не я для удобства себе сделал не prod а m. int a,n,x=0,m=1; все верно. Ваш основной код я понял что к чему, это очень хорошо, но вот не понимаю почему произведение не выдает. Вот мой код:
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
int main()
   { 
       int a,n,x=0,m=1;
   setlocale(LC_ALL, "Russian");
 
    Console::WriteLine(L"Введите натуральное число");
    cin>>n;
    
Console::WriteLine(L"Введите  число A");
    cin>>a;
 
while (n)
  {
   if((n%10)%2==0)  // Проверяю на четность
    m=m*(n%10);     // Умножаю четные
   if ((n%10)==a)   // Является ли цифрой A
    x++;          // Следующий цикл
   n/=10;           // Отсекается цифра числа.
  }
 
cout<<"Произведение четных цифр цисла:"<<m<< endl;
 (x>2)? cout<<"Более двух раз\n": cout<<"Менее двух раз\n";
 
 Console::ReadKey(false);
   return 0;
   }
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:38 #20
freshness, вот уж не знаю. У меня работает. Да и это у Вас не c++, больше на c# похоже Отладкой пользоваться умеете? Можно посмотреть какие значения принимает m при каждой итерации в цикле. Сам бы проверил, да c# под рукой нет.
1
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:40  [ТС] #21
Может четным цифрам присвоить переменную например если четная, то будет = b а потом m*b уже.

Добавлено через 1 минуту
Цитата Сообщение от BumerangSP Посмотреть сообщение
freshness, вот уж не знаю. У меня работает. Да и это у Вас не c++, больше на c# похоже Отладкой пользоваться умеете? Можно посмотреть какие значения принимает m при каждой итерации в цикле. Сам бы проверил, да c# под рукой нет.
Не это C++ и есть, только самый простой вариант, самое начало. Буквально только начал учить, но задания дают вот такие, что хоть и команды знаешь, а вот принцип работы тяжело понять.
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.09.2012, 22:43 #22
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
long Prod(long a)
{
   return a < 10 ? ((a & 1) ? 1 : a) : (((a % 10) & 1) ? 1 : a % 10) * Prod(a / 10);
}
 
long Count(long a, long d)
{
   return a < 10 ? (a == d) : (a % 10 == d) + Count(a / 10, d);
}
 
int main()
{
   long a = 12122;
   printf("%ld\n", Prod(a));
   puts(Count(a, 2) > 2 ? "yes" : "no");
   return 0;
}
1
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:53  [ТС] #23
Отладкой пользуюсь первый раз. Сделал остановку перед выводом данных и там m значение 0 .

Добавлено через 5 минут
Блин странно попробовал не 4044 и 2222 2122 и почему то заработало произведение.
Получается что если в числе есть 0, то он тоже умножается и тогда все становиться равно 0 вот почему при произведении четных числа 4044 он мне писал 0
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:56 #24
freshness, )))))
Мда, можно было и заметить И меня с толку сбил 0 ведь тоже четное. Все правильно.
0
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 23:02  [ТС] #25
[IMG]http://s017.***********/i426/1209/9c/aebb0bde3545.jpg[/IMG]
[IMG]http://s41.***********/i092/1209/f6/7de7f4665b0d.jpg[/IMG]

Добавлено через 3 минуты
Ну а как теперь сделать что бы он нолик игнорил?

Добавлено через 2 минуты
Хотя что за глупости 0 не надо игнорить потому что все и так правильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 23:02
Привет! Вот еще темы с ответами:

Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 - C++
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае:...

Задача логические функции (составить функцию, которая определяет верно ли что сумма цифр числа четное число) - C++
Помогите нужно составить функцию, которая определяет верно ли что сумма цифр числа четное число. обязательно использовать логическую...

Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры - C++
Помогите пожалуйста с решением очень надо.))) С++ Добавлено через 44 минуты Парни выручайте... осталось 30 минут((( срочно нужно, а...

Верно ли, что в числе есть цифра, встречающаяся 2 и более раз? - C++
Ввести 4-х значное число. Верно ли, что в этом числе есть цифра, встречающаяся 2 и более раз.


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

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

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