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

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

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

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

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

Видел похожу здесь на форуме но она на pascale как писать в c++ я не понял.
Дано натуральное число. Найти произведение четных цифр этого числа. Верно ли, что число со-держит данную цифру А более двух раз (А вводить с клавиатуры).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2012, 21:38     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз
Посмотрите здесь:
C++ Дано натуральное число n. Верно ли, что сумма цифр этого числа является чётной
C++ дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!
Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) C++
Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение цифр совпадает с произведением цифр данного числа C++
C++ Найти числа, встречающиеся более двух раз (исправить вывод)
Найти все трехзначные числа: "Само число и сумма цифр этого числа делятся на одно и то же число P" C++
Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 цифры, поэтому мы в конце цикла отсекаем последнюю цифру, чтобы взять следующую.
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:13  [ТС]     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз #17
Использовал ваш первичный код, только немного исправил, единственное произведение надо вывести ,как я понял это переменная prod у вас, и в консоли всегда 0 стоит произведение
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:16     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз #18
freshness, а когда объявляли prod, не забыли его сразу же =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;
   }
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:38     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз #20
freshness, вот уж не знаю. У меня работает. Да и это у Вас не c++, больше на c# похоже Отладкой пользоваться умеете? Можно посмотреть какие значения принимает m при каждой итерации в цикле. Сам бы проверил, да c# под рукой нет.
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++ и есть, только самый простой вариант, самое начало. Буквально только начал учить, но задания дают вот такие, что хоть и команды знаешь, а вот принцип работы тяжело понять.
Thinker
Эксперт C++
4225 / 2199 / 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;
}
freshness
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
21.09.2012, 22:53  [ТС]     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз #23
Отладкой пользуюсь первый раз. Сделал остановку перед выводом данных и там m значение 0 .

Добавлено через 5 минут
Блин странно попробовал не 4044 и 2222 2122 и почему то заработало произведение.
Получается что если в числе есть 0, то он тоже умножается и тогда все становиться равно 0 вот почему при произведении четных числа 4044 он мне писал 0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.09.2012, 22:56     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз #24
freshness, )))))
Мда, можно было и заметить И меня с толку сбил 0 ведь тоже четное. Все правильно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 23:02     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз
Еще ссылки по теме:
C++ Задача логические функции (составить функцию, которая определяет верно ли что сумма цифр числа четное число)
C++ Дано число n. Верно ли, что это число содержит ровно 3 одинаковых цифры
Верно ли, что в числе есть цифра, встречающаяся 2 и более раз? C++
Найти среди двузначных чисел такие, что квадрат числа равен кубу суммы цифр этого числа C++
C++ Дано натуральное четырехзначное число n. Верно ли что это число содержит три одинаковые цифры

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

Или воспользуйтесь поиском по форуму:
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 не надо игнорить потому что все и так правильно.
Yandex
Объявления
21.09.2012, 23:02     Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз
Ответ Создать тему
Опции темы

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