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

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

Войти
Регистрация
Восстановить пароль
 
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
#1

Найти в введеном числе цифру "1" - C++

09.11.2011, 23:28. Просмотров 286. Ответов 5
Метки нет (Все метки)

Если хотя бы один раз встречается "1" вывести "Yes" и закончить программу.
Подскажите что не так тут.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>   
using namespace std;
 
int main(){
    int a,r;
    cin>>a;             // К примеру вводим 1536
    while (a==0) {
        r=a%10;         // Остатки - 6,3,5,1
        if (r==1) {     //  Проверки - 6!=1,3!=1,5!=1,    1==1 ок выходим
            cout<<"Yes \n";
            return 0;
        }
        a/=10;          // a=153,a=15,a=1
    }
    cout<<"No \n";
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 23:28     Найти в введеном числе цифру "1"
Посмотрите здесь:

C++ Каждую цифру текста, которая находится перед первым символом "+", заменить на запятую
Найти наименьшую по значению цифру в каждом числе C++
Найти наименьшую по значению цифру в каждом числе C++
Найти наибольшую цифру в заданном числе C++
C++ Сколько цифр в числе, которые равны "а"?
"Вычеркнуть" из заданного целого числа самую большую цифру (используя цикл for) C++
C++ Найти наибольшую цифру в заданном целом числе N
C++ В каждом числе массива определить количество разрядов, равных "1"
C++ В каждом числе массива определить количество разрядов, равных "1"
Как можно "рисовать" различные линии и фигуры, в том числе и трёхмерные в C++? C++
C++ найти наибольшую цифру в заданном целом числе N
C++ Каждую цифру текста, которая находится перед первым символом "+", заменить на запятую

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
09.11.2011, 23:40     Найти в введеном числе цифру "1" #2
C++
1
 while (a==0)
Цикл работает пока условие истинно.
Вам надо так:
C++
1
 while (a!=0)
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
09.11.2011, 23:41     Найти в введеном числе цифру "1" #3
Переведите число в строку и пробежитесь по строке циклом
LostCoast
82 / 82 / 5
Регистрация: 30.09.2011
Сообщений: 404
Записей в блоге: 6
09.11.2011, 23:52     Найти в введеном числе цифру "1" #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>  
#include <stdlib.h>
using namespace std;
 
int main(){
    int a;
    char r[80];
    
    cin >> r  ;   // К примеру вводим 1536
    a = strlen(r);
    while (a!=0) {
        
        // Остатки - 6,3,5,1
        if (r[a - 1] == '1') {     //  Проверки - 6!=1,3!=1,5!=1,    1==1 ок выходим
            cout<<"Yes \n";
            return 0;
        }
        a--;          // a=153,a=15,a=1
    }
    cout<<"No \n";
    return 0;
}
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
09.11.2011, 23:53     Найти в введеном числе цифру "1" #5
Цитата Сообщение от Gepar Посмотреть сообщение
и пробежитесь по строке циклом
да ну на фиг!
C
1
2
3
#include <string.h>
/*...*/
printf("%s", ( strchr(str, '1') ) ? "YES" : "NO");
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
10.11.2011, 01:46  [ТС]     Найти в введеном числе цифру "1" #6
Спасибо всем

Добавлено через 43 минуты
Нужно проверить числа из массива и если присутствует цифра "1" записать это число в новый массива,ну и потом вывести его.Пробовал что-то не получилось.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>   
using namespace std;
 
int main(){
    const int n=10;
    int a[n],b[n],r=0,i,j=0;
    for (i=0; i<n; i++) {
    cin>>a[i];             
        while (a[i]!=0) {
            r=a[i]%10;         
            if (r==1) {    
                b[j]=a[i];
                j++;
            }
            a[i]/=10;        
        }
    }
    for (i=0; i<j; i++) {
        cout<<i<<" - "<<b[j];
    }
    return 0;
}
Yandex
Объявления
10.11.2011, 01:46     Найти в введеном числе цифру "1"
Ответ Создать тему
Опции темы

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