ОБСУЖДЕНИЕ

помогите написать прогу

3 ответов 6,3 тыс.
Статус
Закрыто для дальнейших ответов.
Автор темы
Даны натуральное число n, символы s1,...,sn, среди которых есть хотя бы одна точка. Преобразовать последовательность s1,...,sn, удалив из нее все запятые, предшествующие первой точке, и заменив знаком + все цифры 3, встречающиеся после первой точки.
 
оксана
обязательно C++?
 
<!--QuoteBegin-Король+28:05:2004, 19:07 -->
<span class="vbquote">(Король @ 28:05:2004, 19:07 )</span><!--QuoteEBegin-->оксана
обязательно C++?[/quote]
да на Borland C++3.1
 
Вот тебе функция для этих целей... :blink:


Код:
char* ProccessString(char* s_source)
{
           char* ch, *pch;
           int            i_val=0;

           ch=strchr(s_source, '.');                 //находим первую точку
           pch=strchr(ch, '3');                        //назодим в строке начиная с первой точки цифру 3
           while(pch!=NULL)                           //и заменяем их все на '+'
           {
                       *pch='+';
                       pch=strchr(ch, '3');
           }
           *ch=0;                                       //сокрощаем строку до первой точки
           i_val=strlen(s_source);                   //находим длину строки, в которой нужно удалить запятые.
           *ch='.';                                      //востанавливаем исходную строку.
           
           for(int i=0; i<i_val; i++)                 //удаляем все запятые до первой точки
           {
                       pch=strchr(s_source, ',');
                       if(pch!=NULL)
                       {
                                   for(int i=0; i<strlen(pch); i++)
                                   {
                                               pch[i]=pch[i+1];
                                   }
                       }
           }
           return s_source;
}
 
Статус
Закрыто для дальнейших ответов.