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

Сравнение цифр в числе - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.71
SZ
2 / 2 / 0
Регистрация: 16.11.2008
Сообщений: 44
06.12.2008, 10:13     Сравнение цифр в числе #1
Подскажите, как сравнивать цифры в числе. Пытался в массив перевести, но не получилось. Пытался просто число в символьный перевести и вывести на экран, программа выдала об ошибке. Мне код не нужен. Наведите на мысль, как это можно сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2008, 10:13     Сравнение цифр в числе
Посмотрите здесь:

C++ не могу никак найти сравнение цифр в числе
Сравнение чисел в трёхзначном числе C++
C++ Сравнение чисел в трёхзначном числе
Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр C++
C++ Определить количество цифр в числе n и сумму всех его цифр
Рекурсия: количество цифр в числе, сумма цифр и реверс числа C++
C++ Сравнение цифр в n-значном числе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
morf
6 / 4 / 2
Регистрация: 05.12.2008
Сообщений: 12
06.12.2008, 12:48     Сравнение цифр в числе #2
хм..... Интересно как могло не получиться перевести число в строку..........
Попробуй в while пока число не станет равным нулю сначала "отсекать" последнюю цифру находя остаток от деления на 10 и запоминая его и деля само число на 10.
Получаешь набор цифр составляющих число. Начиная с младшего разряда.
Такое всегда работало.
SZ
2 / 2 / 0
Регистрация: 16.11.2008
Сообщений: 44
06.12.2008, 22:33  [ТС]     Сравнение цифр в числе #3
Цитата Сообщение от morf Посмотреть сообщение
хм..... Интересно как могло не получиться перевести число в строку..........
Попробуй в while пока число не станет равным нулю сначала "отсекать" последнюю цифру находя остаток от деления на 10 и запоминая его и деля само число на 10.
Получаешь набор цифр составляющих число. Начиная с младшего разряда.
Такое всегда работало.
Не, получилось. Я потом ошибку нашел, и мне выдавало символ кодовой таблицы, когда я говорил ему сначала преобразовать число в char, а потом вывести на экран как один символ. А за совет спасибо. По-моему все даже очень легко. Надо будет, как я понял, в массив загнать число, и там оно вверх тормашками: если было 321, то тогда будет 123.

Добавлено через 1 час 51 минуту 51 секунду
Ладно. Самому как-то все равно не получается. Написал код. Но он для всех пишет, что все существует. Задача полностью: "Написать программу, запрашивающую с клавиатуры два целых числа 'a' и 'b' и определяющую, есть ли в сумме этих числе две
идущие подряд одинаковые цифры. Например, для a=100 и b=10 ответ \есть\, для a=111 b=10 ответ \нет\"

Вот код:

Код
#include<stdio.h>
void main()
{
	int a,b,i,c,X[100];
	printf("Enter A\n");
             scanf("%d",&a);
	printf("Enter B\n");
	scanf("%d",&b);
             c=a+b;
	i=0;
	while(c=0)
	{
		X[i]=c%10;
		c=c/10;
		if(c<10) X[i]=c;
		i++;
	}
             for(i=0;;i++)
		if(X[i]==X[i+1])
		{
			printf("Exists ");
			break;
		}
}
По мне так все логично. Но все равно неправильно. Помогите разобраться.
morf
6 / 4 / 2
Регистрация: 05.12.2008
Сообщений: 12
06.12.2008, 22:36     Сравнение цифр в числе #4
В целом всё верно, но есть определённые косяки.
Вот рабочий код:
Код
#include<stdio.h>
void main()
{
	int a,b,i,c,X[100]={0};
	printf("Enter A\n");
			 scanf("%d",&a);
	printf("Enter B\n");
	scanf("%d",&b);
			 c=a+b;
	i=0;
	while(c!=0)
	{
		X[i]=c%10;
		c=c/10;
		i++;
		if(c<10) X[i]=c;
	}
	for(;i>0;i--)
		if(X[i]==X[i-1])
		{
			printf("Exists ");
			return;
		}
		printf("Not exists ");
		return ;
}.
Если чтото не понятно и есть вопросы, то ICQ: 740-76-61
SZ
2 / 2 / 0
Регистрация: 16.11.2008
Сообщений: 44
06.12.2008, 23:54  [ТС]     Сравнение цифр в числе #5
Пашет.
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
15.03.2009, 14:31     Сравнение цифр в числе #6
а можно и так:
a>b?"а больше":"б больше"
EnzoMatrix
 Аватар для EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
15.03.2009, 23:42     Сравнение цифр в числе #7
Цитата Сообщение от NAG Посмотреть сообщение
а можно и так:
a>b?"а больше":"б больше"
нужно сравнить не два числа а и b , а цифры внутри числа
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2009, 01:11     Сравнение цифр в числе
Еще ссылки по теме:

C++ Дано натурально число n. Сколько цифр в этом числе. Чему равняется сумма цифр. Найти первую цифру
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) C++
Определить сколько цифр в заданном натуральном числе, и чему равна сумма его цифр C++
Определить сколько цифр в заданном числе, найти сумму цифр, и последнюю цифру C++
C++ Найти сумму цифр двух целых двухзначных чисел a и b, написав функцию определения цифр в числе

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

Или воспользуйтесь поиском по форуму:
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
16.03.2009, 01:11     Сравнение цифр в числе #8
вот мой код, просто вводишь число и он указывает наименьшую цифру в числе:

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
53
54
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{ 
    int chislo, nuli, cifr, rab, min, minadr, i, ser;
    
    cin >> chislo;
    
    rab = chislo;
    cifr = 0;
    
    while (rab > 0)
    {
          rab = rab / 10;
          cifr++;
    }
    
    nuli = 1;
    for (i = 0; i < cifr - 1; i++)
    {
        nuli = nuli * 10;
    }
    
    min = chislo / nuli;
    minadr = 1;
    
    for (i = 2; i < cifr; i++)
    {
        nuli = nuli / 10;
        ser = (chislo / nuli) % 10;
        
        if (min > ser)
        {
                min = ser;
                minadr = i;
        }
        
    }
    
    if (min > chislo % 10)
    {
            min = chislo % 10;
            minadr = cifr;
    }
    
    cout << "Naimenshia cifra: " << min << "\n";
    cout << "Ee mesto: " << minadr << "\n";
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Yandex
Объявления
16.03.2009, 01:11     Сравнение цифр в числе
Ответ Создать тему
Опции темы

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