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

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

Восстановить пароль Регистрация
 
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
09.11.2011, 23:28     Найти в введеном числе цифру "1" #1
Если хотя бы один раз встречается "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"
Посмотрите здесь:

Дано натуральное число. Найти сумму последних "n" цифр "n" числа, не применяя переменых значений C++
Найти наибольшую цифру в заданном числе C++
Работа с файлами (вывести в текстовый файл "g.txt" любую цифру из исходного файла "f.txt" с сохранением строгого порядка) C++
C++ Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, "АННА", "ШАЛАШ"
"Вычеркнуть" из заданного целого числа самую большую цифру (используя цикл for) 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
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
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
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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"
Ответ Создать тему
Опции темы

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