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

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

Войти
Регистрация
Восстановить пароль
 
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
#1

Разделить число на составляющие и найти искомую цифру - C++

15.10.2010, 22:23. Просмотров 912. Ответов 10
Метки нет (Все метки)

Программа, которая разделяет число на состовляющие и находит искомую цифру, вот, то, что получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# include <stdio.h>
 
void main()
{
    
    int c,p,o,z=0;
    printf("cifra=");
    scanf("%d",&c);
    printf("poisk=");
    scanf("%d",&p);
 
    do
     {
        o=c%10;
        c=c/10;
        z=c;
         if(z==p)
     {
         printf("yes");  
     }
     }
     while (p=z);    
}
Ну, а если цифра не найдена должно выводиться сообщение (типа
C++
1
printf("no");
), но у меня никак реализовать это не получается...
Не подскажите, пожалуйста...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 22:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разделить число на составляющие и найти искомую цифру (C++):

Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число нап - C++
2.Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать. #include...

Дано число. Разделить каждую цифру числа на его порядковый номер - C++
Как записать именно деление каждого числа на порядковые номера. могут быть ведь как, например, 111, так и 18473457645874... #include...

Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; using namespace std; double k, newd, numDig,...

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

С++, найти искомую точку, используя структуру - C++
Прошу помощи с задачей: Найти такую точку, сумма расстояний от которой до остальных точек множества максимальна. Множество точек задано в...

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

10
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.10.2010, 22:27 #2
Первое что бросилось в глаза - 23 строка
C
1
while (p=z);
а дожно быть
C
1
while (p==z);
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
15.10.2010, 22:27 #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
# include <stdio.h>
 
void main()
{
        
        int c,p,o,z=0;
        printf("cifra=");
        scanf("%d",&c);
        printf("poisk=");
        scanf("%d",&p);
 
        do
     {
        o=c%10;
        c=c/10;
        z=o;
        if(z==p)
        {
            printf("yes");
            return 0;  
        }
     }
     while (p==z); 
     printf("no");
     return 0;       
}
Но не слишком хорошо) Можно завести счетчик и смотреть, если дошло до 0, выводить no. ну как-то так
1
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
15.10.2010, 22:34  [ТС] #4
блинннн..точно!
Цитата Сообщение от Asics^ Посмотреть сообщение
а дожно быть
C++
1
(p==z);

Всем спасибо...

Цитата Сообщение от Lavroff Посмотреть сообщение
return 0;
просто
C++
1
return;
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
15.10.2010, 22:37 #5
stalkersev, Не-а. return 0; Выходим ведь сразу из программы.
И лучше возвращать значение из main при удачном выполнении, а не полагаться на то, что это сделает компилятор
1
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
15.10.2010, 23:35  [ТС] #6
Чет не получается..
Во-первых: ошибки...Разделить число на составляющие и найти искомую цифру
Во-вторых:если ввести число например 3213, то цифру 2 программа не видит...
0
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
15.10.2010, 23:37  [ТС] #7
В-третьих:
Цитата Сообщение от Lavroff Посмотреть сообщение
while (p==z);
может быть
C++
1
while (z==p);
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
15.10.2010, 23:37 #8
stalkersev, А вы видите в этом разницу?)
А по поводу не получается - ошибку скиньте. Текст ошибки
0
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
16.10.2010, 21:00  [ТС] #9
Разделить число на составляющие и найти искомую цифру Почему 'no'!!????
0
MILAN
887 / 781 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.10.2010, 00:36 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Может так?

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
32
#include <iostream>
 
using std::cout;
using std::cin;
 
int main()
{
        
        int c,p,o;
        bool yesno=false;
        cout<<"cifra= ";
        cin>>c;
        cout<<"poisk= ";
        cin>>p;
 
        do
          {
            o=c%10;
            c=c/10;
            if(o==p)
              {
                cout<<"yes";
                yesno=true;
                break;
              }
            }while (c>0); 
       if(!yesno)
         {
            cout<<"no";
         }
    return 0;       
}
1
stalkersev
|____WTF!?____|
87 / 86 / 6
Регистрация: 01.06.2010
Сообщений: 227
17.10.2010, 14:03  [ТС] #11
ОГРОМНОЕ спасибо...
0
17.10.2010, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 14:03
Привет! Вот еще темы с ответами:

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n (n ≤ 100), найти первую цифру числа n. На паскале пожалуйста срочно надо!

Дано натуральное число n, найти первую цифру числа n - C++
Дано натуральное число n, найти первую цифру числа n. (c++) ?

Получить четырехзначное число и найти его наибольшую цифру - C++
прочитать с экрана четырехзначное число и найти его наибольшую цифру тут вроде лучше if делать

Как разделить цифру и букву - C++
Такой вопрос, нужно ввести число в консоль, приписав рядом единицу измерения . А потом сохранить это число в вектор чисел. Объясню на...


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

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

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