Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 1
Регистрация: 14.10.2009
Сообщений: 76
1

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

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

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

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2010, 17:27
Ответы с готовыми решениями:

Если число трёхзначное, то вывести первую цифру числа, если нет - последнюю
N - натуральное число.Если оно трёхзначное - вывести первую цифру числа,если нет - последнюю.

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

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

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

8
Эксперт С++
5828 / 3479 / 358
Регистрация: 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
3 / 3 / 1
Регистрация: 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
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.03.2010, 18:37 4
А у меня все работает:
Число 104
Число 141
Число 401
0
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
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
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
22.03.2010, 03:00 7
CAMCOH, только в стандартной библиотеке C++, если я не ошибаюсь, отсутствуют средства для работы с регулярными выражениями.
0
1 / 1 / 0
Регистрация: 27.01.2010
Сообщений: 19
22.03.2010, 09:12 8
В стандартной, их может и не быть, хотя по идее должны, а в .NET они точно реализованы во всех языках и во всех версиях, будь то VB, C++, J#, C#. Причем они там немного расширенны в сравнении с Perlom.

Только их надо отдельно прописывать, там Using.System.Regular что-то там, не помню сейчас. Может вечером посмотрю на счет плюсов и как их подключать, а сейчас пока бегу.
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2010, 10:09
Помогаю со студенческими работами здесь

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

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

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

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


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

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