Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Функция expand для чего она нужна
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
sano32 sano32 вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.12.2010
По умолчанию Функция expand для чего она нужна - 22.03.2011, 16:14

Доброго времени суток. Нужно написать функцию expand(s1,s2), заменяющую сокращенную запись наподобие a-z в строке s1 эквивалентной полной записью аbс...хуz в s2. В s1 допускаются буквы (прописные и строчные) и цифры. Следует уметь справляться с такими случаями, как a-b-c, a-z0-9 и -a-b. Считайте знак - в начале или в конце s1 обычным символом минус. Вот мои наработки.
c Код:
#include <stdio.h>
#include <string.h>

void expand(char s1[], char s2[]);

int main()
{
    char s1[100], s2[100];
    printf("Vvedite stroku\n");
    gets(s1);
    expand(s1,s2);
    printf("%s\n",s2);
    return 0;
}

void expand (char s1[], char s2[])
{
    int i, j, k;
    i=0;
    j=0;
    k=0;
    while(s1[i]!='\0')
    {
       
        if (s1[i]=='-')
        {
            for(j=(int)(s1[i-1]); j<=(int)(s1[i+1]); j++)
            {
               
                s2[k]=(char)(j);
                if (s2[k]==s2[k-1]){k--;}
                k++;
                }
            }
        i++;
        }
    }
проблема с выводом цифр. В конце строки выводит непонятные символы. Может кто подскажет в чем ошибка.
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,281
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 23.03.2011, 09:39

В конце программы нужно добавить в результат символ конца строки:
c Код:
s2[k] = 0;
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужна функция escape sano32 С/С++ 3 18.03.2011 21:24
Нужна функция, возвращающая максимальный элемент списка kvarc Lisp 8 01.06.2010 07:18
Для чего нужна функция востановления системы? alex95 Любые вопросы от новичков 29 06.09.2008 19:41
Процессор Q6600 требует поддержку PCG 06, для чего нужна эта функция? НИКОЛАЙ DFKTYNBYJDBX Любые вопросы от новичков 5 22.08.2008 12:40
Для чего нужна функция fprintf oh С/С++ 3 17.12.2006 21:14
Рекурсия для чего она нужна Marla Singer С/С++ 5 02.12.2006 11:54
Нужна функция, возвращающая список из 3-х элементов hydozhnik Lisp 3 09.08.2006 02:39
Строковая функция для чего она нужна vovasever Delphi 3 16.03.2006 01:00
Пермутации для чего она нужна new man Алгоритмы 1 30.07.2004 15:21
Нужна помощь-функция для чтения файлов I16 tumanovalex С/С++ 1 05.06.2004 20:42
Кто поможет разъя снить ситуацию с expand-down сегментами spin_lock Assembler 0 14.02.2004 17:36
Срочно нужна функция в javascript - аналог explode Anonymous DHTML, JavaScript, VBScript 3 24.11.2003 15:32



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов