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

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

Войти
Регистрация
Восстановить пароль
 
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
#1

содержет ли трёхзначное число цифру 4? - C++

21.03.2010, 17:27. Просмотров 397. Ответов 8
Метки нет (Все метки)

не могу понять как можно записать программу, что бы когда я ввожу одно-трёхзначное число, она мне сообщает, содержет ли это число цифру 4.

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2010, 17:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос содержет ли трёхзначное число цифру 4? (C++):

Дано трёхзначное число.Найти число полученное при перестановке первой и второй цифр заданного числа. - C++
Дано трёхзначное число.Найти число полученное при перестановке первой и второй цифр заданного числа.

Трёхзначное число - C++
Как узнать есть ли число трёхзначным? И как вывести его первую и последнюю цифру??

Трёхзначное число - C++
Составить программу, которая раскладывает ро розрядным единицам трёхзначное число, которое вводит пользователь с клавиатуры. #include...

Дано трёхзначное число. Определить,какая из его трёх цифр больше. - C++
Помогите плз как пишется на С++)

Дано трёхзначное число.Определить, равен ли квадрат этого числа сумме его цифр. - C++
Дано трёхзначное число.Определить, равен ли квадрат этого числа сумме его цифр. Как решить на С++, напишите пожалуйста решение...

Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число - C++
Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число.

8
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 17:34 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
   int z;
   std::cin >> z;
   do
   {
      if(z%10==4)
      {
         std::cout << "Yes" << std::endl;
         return 0;
      }
      z/=10;
   }
   while(z);
   std::cout << "No" << std::endl;
   return 0;
}
0
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
21.03.2010, 18:30  [ТС] #3
Цитата Сообщение от Nameless One Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
   int z;
   std::cin >> z;
   do
   {
      if(z%10==4)
      {
         std::cout << "Yes" << std::endl;
         return 0;
      }
      z/=10;
   }
   while(z);
   std::cout << "No" << std::endl;
   return 0;
}
пробывал этот вариант, но программа не работает корректно, беру подбор чисел: 104, 141, 401 и в двух случаях выводит, что цифры 4 нет.
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 18:37 #4
А у меня все работает:
Число 104
Число 141
Число 401
0
Himka
2 / 2 / 1
Регистрация: 28.02.2010
Сообщений: 5
21.03.2010, 23:49 #5
Попробуй так:
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
#include <iostream.h>
int main(int argc, char* argv[])
{int N;
 int Rez;
 int K;
 do
 {cout<<"Chislo (100..999): ";
  cin>>N;
 }while((N<100)||(N>999));
 Rez=0;
 while (N>0) 
 {K=N%10;
  if (K==4)
  {Rez=1;
   break;
  }
  N=N/10;
 }
 if (Rez==1)
     cout<<"Chislo sodergit 4"<<endl;
 else
     cout<<"Chislo ne sodergit 4"<<endl;
 return 0;
}
0
CAMCOH
1 / 1 / 0
Регистрация: 27.01.2010
Сообщений: 19
22.03.2010, 01:16 #6
Прочти как стринг и поищи что-нить типа:

C++
1
if(имя_переменной=~ m/(..4|.4.|4..)\d/)   cout<<"Chislo sodergit 4"<<endl;
как-то так, сам плохо знаком с регулярными выражениями, и еще не дошел до практики, посмотри, почитай, думаю разберешся, там можно все упростить в 10-ки раз. Попробуй книжечку Джефри Фридела, "регулярные выражения", по крайней мере я ее ща читаю. вроде не плохо все написано, только дурак не разберется.
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
22.03.2010, 03:00 #7
CAMCOH, только в стандартной библиотеке C++, если я не ошибаюсь, отсутствуют средства для работы с регулярными выражениями.
0
CAMCOH
1 / 1 / 0
Регистрация: 27.01.2010
Сообщений: 19
22.03.2010, 09:12 #8
В стандартной, их может и не быть, хотя по идее должны, а в .NET они точно реализованы во всех языках и во всех версиях, будь то VB, C++, J#, C#. Причем они там немного расширенны в сравнении с Perlom.

Только их надо отдельно прописывать, там Using.System.Regular что-то там, не помню сейчас. Может вечером посмотрю на счет плюсов и как их подключать, а сейчас пока бегу.
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
22.03.2010, 10:09 #9
Apmyp /7,
C++
1
2
3
4
5
6
7
8
9
10
11
bool IsContains4(int n)
{
  while (n) {
    if (n % 10 == 4)
      return true;
 
   n /= 10;
  }
 
  return false;
}
0
22.03.2010, 10:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2010, 10:09
Привет! Вот еще темы с ответами:

Дано двузначное число. Вывести вначале его левую цифру, а затем — его правую цифру - C++
1)Дано двузначное число. Вывести вначале его левую цифру (десятки),а затем — его правую цифру (единицы). Для нахождения десятков...

Дано натуральное число. Если число цифр в числе нечетно, то удалить его серединную цифру - C++
Дано натуральное число. Если число цифр в числе нечетно, то удалить его серединную цифру. Входные данные Дано натуральное число,...

Дано трехзначное число. В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученое число - C++
Может ктовидел похожую задачу дайте ссылку или подскажите как сделать

Дано трехзначное натуральное число А. В нём зачеркнули последнюю справа цифру и приписали её в начале. Найти полученное число - C++
Дано трехзначное натуральное число А. В нём зачеркнули последнюю справа цифру и приписали её в начале. Найти полученное число.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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