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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ считывание амперсанда http://www.cyberforum.ru/cpp-beginners/thread795068.html
Нужно сделать считывание амперсанда без замены его в цикле. С использованием gets и sscanf. Добавлено через 4 часа 21 минуту #include "StdAfx.h" #include <windows.h> #include <iostream> #include <iomanip> #include <TCHAR.h> #include <time.h> #include <conio.h>
C++ Программирование с использованием массивов и строк Постановка задачи 1. Задан массив, состоящий из слов. Используя функции сформировать и вывести массив слов заданного типа. Восьмеричное Long; Шестнадцатеричное Int; 2. Задана строка, состоящая из слов. Слова друг от друга отделяются одним или несколькими пробелами. Количество символов не превышает 255. В конце текста ставится точка. Сформировать и вывести массив слов заданного типа.... http://www.cyberforum.ru/cpp-beginners/thread795055.html
функция cos C++
доброго времени суток столкнулся с проблемкой при работе с функцией cos и sin,дело в то что функция непонятно почему выдаёт непредсказуемые значения к примеру здесь: double vfRradians=(M_PI/180.)*(double)Angle; double vfCosinus=cos(vfRradians); при некоторых значениях работает нормально а при Angle==90 vfCosinus принимает значение больше 6,ради интереса я пересчитал всё на инженерном...
Форматирование текста в C++ C++
Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каж- дой точки в конце предложения должен стоять хотя бы один пробел; первое слово в пред- ложении должно начинаться с прописной буквы. Между словами не должно быть больше одного пробела Замечание. Текст может быть как на русском, так и на английском языке.
C++ Вычислить бесконечную сумму с заданой погрешностью 0.05(найти ошибку в коде) http://www.cyberforum.ru/cpp-beginners/thread795027.html
Доброго времени суток. Хочу узнать как делаются задания подобного рода, писал сам программку, но полезла куча ошибок. Буду благодарен любой помощи. Условие прикреплено ниже. #include "stdafx.h" #include <iostream> using namespace std; int main()
C++ Работа с текстовым файлом: как посчитать кол-во букв в слове? (посимвольная обработка) Работа с текстовым файлом: как посчитать кол-во букв в слове? (посимвольная обработка) подробнее

Показать сообщение отдельно
kipetilnik
1 / 1 / 0
Регистрация: 25.10.2012
Сообщений: 20

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

26.02.2013, 06:35. Просмотров 403. Ответов 1
Метки (Все метки)

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

Например: на входе: 112, на выходе: 12.
В моем случаи: на входе: 112, на выходе: 12-86841313513.

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
55
56
57
58
59
60
61
62
63
#include<stdio.h> 
#include<iostream>
#include<math.h>
#include<locale.h>
using namespace std;
 
void main()
{
    int num=0, ch=0;
    cout<<"Vvedite proizvol'noe chislo\n";
    scanf("%d",&num);
    int n=num;
 
    while(num!=0)
    {
        num/=10;
        ch++;
    }
    int *str=new int[ch];
    int *arr=new int[ch];
    for (int i=ch-1;i>=0;i--)
    {
 
        str[i]=n%10;
        n/=10;
    }
    for (int i = 0; i < ch; i++)
    {
        int temp = str[i];// запомним i-ый элемент
        int j =i-1;//будем идти начиная с i-1 элемента 
        while(j >= 0 && str[j] > temp)
            // пока не достигли начала массива 
            // или не нашли элемент больше i-1-го
            // который храниться в переменной temp
        {
            str[j + 1] = str[j];
            //проталкиваем элемент вверх
            j--;
        }
        str[j + 1] = temp;
        // возвращаем i-1 элемент 
    }
    arr[0]=str[0];
    for (int i=1; i<ch;i++)
    {
        for(int j=1; i<ch;i++)
        {
            if(arr[j-1]!=str[i])
            {
                arr[j]=str[i];
                j++;
            }
 
        } 
    }
    for(int i=0; i<ch;i++)
    {
        cout<<arr[i];
 
    }
 
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru