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

Удалить из каждой группы подряд идущих цифр все начальные незначащие нули - C++

Восстановить пароль Регистрация
 
Олег2323
1 / 1 / 0
Регистрация: 08.06.2011
Сообщений: 38
13.06.2012, 11:20     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #1
Всем доброго дня) я хз как делать эту задачу..помогите плиз..На Borland C for dos.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 11:20     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
Посмотрите здесь:

удалить из каждой группы идущих подряд цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка) C++
Из каждой группы подряд идущих слов оставить только одну C++
C++ Заменить в строке все группы подряд идущих точек на многоточие
C++ Замените в тексте входного файла все группы подряд идущих пробелов на один пробел
удалить из каждой группы идущих подряд цифр нули C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
13.06.2012, 11:53     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #2
Олег2323, раз уж попросил меня о помощи приведи пример входных данных т.е. те самые
группы подряд идущих цифр
. Что это за группы : массивы, либо ручной ввод?
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
13.06.2012, 11:58     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
 
int main()
{
    static char psz[256] = "00334235 00006 0332455 000321 00000008";
 
    printf("%s\n",psz);
 
    for (int i = 0; psz[i] != '\0'; i++)
    {
        while (isdigit(psz[i]) && psz[i] == '0')
            for (int k = i; psz[k] != '\0'; k++)
                psz[k] = psz[k+1];
    }
 
    printf("%s\n",psz);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/d17b11...b028ce0c279019
Олег2323
1 / 1 / 0
Регистрация: 08.06.2011
Сообщений: 38
13.06.2012, 12:01  [ТС]     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #4
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Олег2323, раз уж попросил меня о помощи приведи пример входных данных т.е. те самые . Что это за группы : массивы, либо ручной ввод?
---Ручной ввод)))
-=ЮрА=-
13.06.2012, 12:07
  #5

Не по теме:

zitxbit, а число 0,526888 твой алгоритм обработает? написано в задании

Цитата Сообщение от Олег2323 Посмотреть сообщение
все начальные незначащие нули
.

zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
13.06.2012, 12:09     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #6
Нет не обработает, в задании не сказано, что нули должны быть отделены запятой.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2012, 15:35     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
Еще ссылки по теме:

Вывести все простые числа, в которых нет двух подряд идущих одинаковых цифр C++
STL: найти все максимальные цепочки подряд идущих положительных чисел с указанием длины каждой цепочки C++
C++ В целочисленном массиве вывести все группы идущих подряд одинаковых элементов

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
13.06.2012, 15:35     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули #7
Олег2323, вот более менее простой алгоритм
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char sINPUT[1024] = {0};
    printf("INPUT : ");
    scanf("%1023[^\n]",sINPUT);
    //ÔëГ*ГЈ îçГ*Г*Г·Г*ГѕГ№ГЁГ© Г·ГІГ® Г*Г*éäåГ* Г*îëü
    int iFlag = !(sINPUT[0] - '0');
    for(int i = 1; sINPUT[i + 1] != '\0'; i = i + 1)
    {
        if(sINPUT[i] == '0')
        {
            if(!iFlag)
                iFlag = 1;
            else
            if(sINPUT[i] != '\0')
                strcpy(&sINPUT[i],&sINPUT[i + 1]);
            else
                sINPUT[i] = '\0';//Åñëè Г*ГҐГ*ГіГ¦Г*ûé Г*îëü ГёВёГ« ГўГЄГ®Г*öå, âûòèðГ*ГҐГ¬ ГҐГЈГ®
            //Г’.ГЄ. ìû âûòåðëè 1 ñèìâîë âîçâðГ*Г№Г*ГҐГ¬ ГЁГІГҐГ°Г*öèè Г*Г* 1-Г*Гі Г*Г*Г§Г*Г¤
            i = i - 1;
        }
        else//Åñëè âñòðåòèëè Г*ГҐ Г*îëü
        if(iFlag)
            iFlag = 0;//ÑáðГ*ñûâГ*ГҐГ¬ ГґГ*ëã
    }
    printf("OUTPUT : %s\n",sINPUT);
    printf("Press any key to continue\n");
    getch();
    return 0;
}
Миниатюры
Удалить из каждой группы подряд идущих цифр все начальные незначащие нули  
Yandex
Объявления
13.06.2012, 15:35     Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
Ответ Создать тему
Опции темы

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