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

Определить возможность получения числа А вычеркиванием цифр из числа В - C++

Восстановить пароль Регистрация
 
boveg
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 6
08.10.2012, 18:02     Определить возможность получения числа А вычеркиванием цифр из числа В #1
Написать программу, которая для заданных натуральных чисел А и В определяет возмож¬ность получения числа А вычеркиванием цифр из числа В.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 18:02     Определить возможность получения числа А вычеркиванием цифр из числа В
Посмотрите здесь:

Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат - действительное число) C++
Задано два натуральных числа: m и n. Определить, сколько цифр содержится в десятичной записи числа m^n. C++
Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N-1, у которых произведение цифр совпадает с произведением цифр данного числа C++
C++ От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно
Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа VS2010 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.10.2012, 19:00     Определить возможность получения числа А вычеркиванием цифр из числа В #2
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
#include <iostream>
using namespace std;
 
int main()
{
    int t, a[10]={0}, i;
    cout<<"A= "; cin>>t;
    while(t)
    {
        a[t%10]--;
        t/=10;
    }
    cout<<"B= "; cin>>t;
    while(t)
    {
        a[t%10]++;
        t/=10;
    }
    for(i=0; i<10; i++)
        if(a[i]<0)
            break;
    if(i!=10)
        cout<<"No"<<endl;
    else
        cout<<"Yes"<<endl;
     return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.10.2012, 19:04     Определить возможность получения числа А вычеркиванием цифр из числа В #3
А разве вычеркивание подразумевает изменение позиции цифры в числе? Я о том, что, имхо, как бы мы ни черкали число 12, мы не получим 21.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.10.2012, 19:25     Определить возможность получения числа А вычеркиванием цифр из числа В #4
Цитата Сообщение от soon Посмотреть сообщение
А разве вычеркивание подразумевает изменение позиции цифры в числе? Я о том, что, имхо, как бы мы ни черкали число 12, мы не получим 21.
абсолютно правы )
работает только для 6-ти значных чисел:
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
#include <iostream>
using namespace std;
 
int main()
{
    int t, b[6], N_b=0, A, i;
    cout<<"A= "; cin>>A;
    cout<<"B= "; cin>>t;
    while(t)
    {
        b[N_b++]=t%10;
        t/=10;
    }
    i=0;
    while(true)
    {
        while(i<N_b && b[i]!=A%10)
            i++;
        if(i==N_b)
            break;
        A/=10;
        if(A==0)
            break;
        i++;
    }   
    if(i==N_b)
        cout<<"No"<<endl;
    else
        cout<<"Yes"<<endl;
     return 0;
}
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.10.2012, 19:37     Определить возможность получения числа А вычеркиванием цифр из числа В #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool checker(const std::string& source /*B*/, const std::string& target /*A*/)
{
   if(target.empty())return false;
   
   int current = 0;
   
   for(int i = 0; i != source.size() && current != target.size(); ++i)
   {
      if(target[current] == source[i])current++;
   }
 
   return current == target.size();
}
Yandex
Объявления
08.10.2012, 19:37     Определить возможность получения числа А вычеркиванием цифр из числа В
Ответ Создать тему
Опции темы

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