Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
MarchZM
0 / 0 / 2
Регистрация: 18.09.2010
Сообщений: 52
#1

Соседние цифры в числе

16.10.2010, 13:18. Просмотров 960. Ответов 5
Метки нет (Все метки)

Составить функцию, которая определяет, являются ли цифры в записи целого числа соседними в натуральном ряду. Из чисел из интервала от n до N функция выводит только те, цифры которых являются соседними в натуральном ряду.

Я сделал, а программа ничего не выводит.

Объясните пожалуйста ещё, можно ли обойтись без деления на 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
void function (int ,int);
bool repeat (void);
void main (void)
{
    setlocale (LC_ALL, "Rus");
    int n, N;
    do
    {
    
    do
    {
        cout << "\n\nВведите промежуток (натуральные числа (n<N))" << "\nНачальное значение: ";
        cin >> n;
        cout << "Конечное значение: ";
        cin >> N;
 
        if (n<1 & N<1)
            cout << "\n\nНачальное и конечное значения - натуральные числа!!!";
 
        if (n<1 & N>1)
        {
            cout << "\n\nВы ввели ненатуральное начальное значение, оно будет преобразованно...\n";
            n=12;
        }
 
        if (n>N)
            cout << "\n\nНачальное значение не может быть больше конечного!!!";
        
        if (n<12)
            n=12;
 
 
    } while ((n<1 & N<1) || (n<1 & N>1) || (n>N) || (n<12));
    }while (repeat());
 
}
bool repeat (void)
{
        char symbol;
 
        cout << "\n\nTry again? Yes/No: ";
        cin >> symbol;
 
        if ((char)tolower(symbol)=='y')
        return 1;
        else
        return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
void function (int n,int N)
{
    int i;
    for (i=n, n=12; i==N; i++, n++)
    {
        do
        {
            i/=10;
            if (abs((i-i%10)==1))
                cout << n;
        }
        while (i%10==0);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2010, 13:18
Ответы с готовыми решениями:

Соседние цифры в числе
Необходимо составить функцию, которая проверяет, являются ли цифры в...

Соседние цифры в N значном числе
Для n-значных чисел печатать только те, цифры которых являются соседними в...

Поменять местами все соседние группы из двух битов в заданом беззнаковом длинном числе
Задача. Испольхуя только битовые операции, написать программу, которая меняет...

Переставить соседние цифры в десятичном представлении четырехзначного числа
Пользователь вводит четырехзначное число. Необходимо поменять в этом числе 1 и...

Удаление 1й цифры в числе
Помогите написать чать кода. Суть задачи: есть номер в виде 89998865412 и надо...

5
Andrew_Lvov
Эксперт С++
260 / 190 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
16.10.2010, 13:33 #2
Цитата Сообщение от MarchZM Посмотреть сообщение
for (i=n, n=12; i==N; i++, n++)
Введенное пользователем значение n вы теряете.
Второе выражение в цикле определяет условия
C++
1
продолжения
выполнения итераций цикла, а не выход. Если N<>n, не произойдёт ни одной итерации.
Цитата Сообщение от MarchZM Посмотреть сообщение
Объясните пожалуйста ещё, можно ли обойтись без деления на 10, а как-нибудь прочитать посимвольно число и сравнить каждую цифру?
Можно перевести в строчку и считывать посимвольно. Будете считать себя гордым пользователем индусского кода.
0
MarchZM
0 / 0 / 2
Регистрация: 18.09.2010
Сообщений: 52
16.10.2010, 14:35  [ТС] #3
Что-то не понятно, почему я теряю n?
0
Andrew_Lvov
Эксперт С++
260 / 190 / 10
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
16.10.2010, 14:45 #4
MarchZM, потому как вы переприсваиваете его в оглашении цикла.
0
MarchZM
0 / 0 / 2
Регистрация: 18.09.2010
Сообщений: 52
16.10.2010, 16:13  [ТС] #5
А как мне сделать, чтобы оно не терялось, как ещё вывести?
0
MarchZM
0 / 0 / 2
Регистрация: 18.09.2010
Сообщений: 52
24.10.2010, 12:30  [ТС] #6
Помогите пожалуйста1!!

Добавлено через 2 часа 29 минут
Plz HELP очень срочно надо, не знаю как эту прогу сделать
0
24.10.2010, 12:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2010, 12:30

Одинаковые цифры в числе
Помогите разобраться почему некорректно работает программа ...

В числе поменять местами цифры
Дано число ABCDEF.GHIKLM(в котором буквы – это любые цифры (0..9)) в этом числе...

Определить, повторяются ли цифры в числе
Нужно ввести число и в результате получить сообщение повторяются цифры в числе...


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

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

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