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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
Marvell
Сообщений: n/a
#1

Определить, есть ли среди цифр заданного n - значного целого числа одинаковые цифры - C++

23.03.2008, 12:30. Просмотров 2903. Ответов 8
Метки нет (Все метки)

Определить, есть ли среди цифр заданного n - значного целого числа одинаковые цифры .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2008, 12:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, есть ли среди цифр заданного n - значного целого числа одинаковые цифры (C++):

Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые - C++
Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые. Добавлено через 25 секунд помогите пожалуйста))))

Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые. - C++
Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые.

11. Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые - C++
Определить, есть ли среди цифр заданного целого трехзначного числа одинаковые. пожалуйста,решите мне)))

Определить есть ли среди цифр числа одинаковые цифры - C++
Задано целое положительное трехзначное число Определить есть ли среди цифр этоготчисла одинаковые цифры

Определить, есть ли среди цифр заданного числа одинаковые - C++
Помогите.. Есть код #include <iostream.h> #include <conio.h> int main(int argc, char* argv) { int a = 144, edinici,...

Определить, есть ли среди цифр заданного трёхзначного числа одинаковые - C++
на СИ 1 дано трёхзначное число, определить, есть ли среди его цифр одинаковые??

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
23.03.2008, 14:16 #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
28
29
30
31
#include <stdio.h>
#include <stdlib.h>
 
#include <math.h>
int pow10(int n)
{
    int res = 1;
    int i;
    for(i = 0; i < n; i++)
        res *= 10;
    return res;
}
int main()
{
    int a = 287910;
    int m[sizeof(a)*3];
    int i;
    for(i = 0; i < sizeof(a)*3; i++)
    {
        m[i] = (a % pow10(i+1)) / pow10(i);
        if(pow(10, i) > a) break;
    }
    puts("\n");
    int j, k;
    int flag = 0;
    for(j = 0; j < i; j++)
        for(k = j + 1; k < i; k++)
            if(m[j] == m[k]) flag = 1;
    printf("%s", flag ? "yes" : "no");
    return 0;
}
зы: там sizeof(a)*3 я взял навсидку.
master.EXE
88 / 16 / 2
Регистрация: 10.03.2008
Сообщений: 101
25.03.2008, 18:57 #3
Правильно, но незачем так усложнять такую простую программу.
Всё можно сделать проще и понятнее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<conio.h>
#define MAX 20
void main()
{
 long source;
 int i, j;
 int flag=0;
 char copy[MAX];
 clrscr();
 printf("Input the number: ");
 scanf(" %ld", &source);
 sprintf(copy, "%ld", source);
 for(i=0;copy[i]!='\0';i++)
     for(j=i+1;copy[j]!='\0';j++)
  if(copy[i]==copy[j])
      flag++;
 printf("\n\nThere %s %d same symbol%s in the number %ld", (flag>1)?("are"):("is"), flag, (flag>1)?("s"):(""), source);
 getch();
}
Хотя я в последнем printf-е намудрил, ну типо с условиями вывода. Это так, чисто для красоты))).
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
25.03.2008, 21:48 #4
master.EXE, молодец весьма элегантное решение со строками
master.EXE
88 / 16 / 2
Регистрация: 10.03.2008
Сообщений: 101
25.03.2008, 21:50 #5
Цитата Сообщение от Ensase Посмотреть сообщение
master.EXE, молодец весьма элегантное решение со строками
Спасибо)))
minstrel777
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 43
28.01.2010, 22:37 #6
А в блок схеме можете показать как это будет выглядеть? Очень надо.
ISergey
28.01.2010, 22:46
  #7

Не по теме:

minstrel777, ты дату видел?..

minstrel777
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 43
28.01.2010, 22:47 #8
Видел, раз нашел тему, то не стал новую создавать. Обращаюсь к опытным людям за помощью, очень нужно знать как выглядит блок схема данного решения.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
28.01.2010, 23:13 #9
Ну раз уж откопали, вот немного переделанное из другой ветки решение, может кому пригодится...
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 <stdio.h>
        
/*
        Определить, есть ли среди цифр заданного n - значного целого числа одинаковые цифры  
*/
 
int main(void){
        int n, digits[10] = { 0 }, have_doubling = 0;
        
        printf("Number: ");
        scanf("%d", &n);
        
        while ( n ){
                digits[n % 10]++;
                n /= 10;
        }
        for ( n = 0; n < 10; ++n ){
            if ( digits[n] > 1 ){
                have_doubling = 1;
                break;
            }
        }
        printf("Number %shave doubling digits.\n", ( have_doubling ) ? "" : "don't ");
        
        printf("\n");
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2010, 23:13
Привет! Вот еще темы с ответами:

Определить, есть ли среди цифр заданного трехзначного числа одинаковые ( код нужен на си ++) - C++
Определить, есть ли среди цифр заданного трехзначного числа одинаковые ( код нужен на си ++)

Определить есть ли среди цифр введенного числа одинаковые - C++
Помогите Пожадуйста! Составить алгоритм определяющий, есть ли среди цифр введенного числа — одинаковые. Число вводится с...

Вывести на экран все трехзначные числа, не превосходящие заданного n, у которых есть одинаковые цифры - C++
Вывести на экран все трехзначные числа, не превосходящие заданного n, у которых есть одинаковые цифры. Подсчитать количество таких чисел...

Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые - C++
Помогите сделать три задачи: 1)Дано целое трехзначное число. Определить есть ли среди его цифр одинаковые. Выведите 'YES' если число...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2010, 23:13
Ответ Создать тему
Опции темы

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