Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
kipetilnik
1 / 1 / 2
Регистрация: 25.10.2012
Сообщений: 24
#1

Обработка строки: удалить из числа все повторяющиеся цифры кроме первого вхождения

04.12.2012, 19:39. Просмотров 609. Ответов 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
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");
 
    int a[256];
    int n,i,j,k;
    printf("Введите правую границу\n");
    scanf("%d", &n);
    for (i=0; i<n; i++)
    {
        printf("Введите элементы массива a[n]=");
        scanf("%d", &a[i]);
    }
    i=0;
    while (i<=n)
    {
        j=i+1;//смотрим впереди
        while (j<=n) 
        {
            if (a[j]=a[i])//если такой же
            {
                for (k=j; k<n-1; k++) //сдвигаем на наго конец массива
                {
                    a[k]=a[k+1];
                    n=n-1;//уменьшаем размер
                }
            }
            else j=j+1;
        }
        i=i+1;
    }
 
    printf("Массив без повторений:");
    for (i=1; i<n; i++)
        printf("%i",a[i]);
 
    system("pause");
}

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 19:39
Ответы с готовыми решениями:

Обработка строки: удалить из числа все повторяющиеся цифры кроме первого вхождения
С клавиатуры вводим произвольное число. От программы требуется удалить из ...

Удалить из числа все повторяющиеся цифры кроме первого вхождения. Ошибка в коде
Удалить из числа все повторяющиеся цифры кроме первого вхождения. Например:...

Удалить из строки все повторяющиеся буквы, оставив только их первые вхождения
2.Даны строки, содержащие латинские буквы. Удалить из строки все повторяю*...

Удалить со строки все указание символы кроме первого
Дана строка (&quot;This,code,are,working, &quot;), вопрос в том как удалить все комы...

Удалить из строки все символы кроме букв и цифр; заменить цифры на '**'
ввести рядок , удалить в нем все символы кроме букв и цифр, заменить цифры на...

2
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
04.12.2012, 19:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// ввод данных
 
int i, j, place = 1;
for (i = 1; i < n; ++i) {
 for (j = 0; j < place; ++j) 
  if (a[i] == a[j]) break;
 
 if (j >= place)
  a[place++] = a[i]; 
}
n = place;
 
// вывод результатов
0
kipetilnik
1 / 1 / 2
Регистрация: 25.10.2012
Сообщений: 24
08.12.2012, 11:19  [ТС] #3
Спасибо, большое. Ваш метод менее трудоемок.
Проблема была в выводе результата, "съедался" 1 элемент массива.
Правильный вывод:
C++
1
2
3
printf("Массив без повторений:");
    for (i=0; i<n; i++)
        printf("%i",a[i]);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 11:19

Удалить из слова все повторяющиеся буквы, оставив их первые вхождения
Условие:Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые...

Удалить из очереди все повторяющиеся слова, оставив только их первые вхождения
Создать очередь, содержащую слова. Удалить из очереди все повторяющиеся слова,...

Одномерные массивы, удалить все повторяющиеся элементы, оставив только первые вхождения
Задача на C++: из заданного массива удалить все повторяющиеся элементы, оставив...


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

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

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