Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2014, 17:34   #1
philqa
Новичок
Джуниор
 
Регистрация: 30.11.2014
Сообщений: 2
По умолчанию В строке заменить все многоточия (три точки «.») одними точками.

Вот что то набросал,но что то не выходит ничего,подскажите пожалуйста.
Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
int i;
char str[] = "To be...or not to be..."
    int i = 1;
    printf("First String :%s\n", str);
    while (str != '\0') 
    {             
      if (str=='...')   
          str ='.';  
      ++i;
     }
    printf("New String :%s\n", str);
    getch();
}
philqa вне форума Ответить с цитированием
Старый 30.11.2014, 18:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я так понял что string использовать нельзя?
Тогда только переписывать в новую переменную.
Что-то типа:
Код:
{
int i;
char str[] = "To be...or not to be...", s2[255]={0};
    int i,j;
... Вводим первую строку
    printf("First String :%s\n", str);

    for(i=0,j=0;i<strlen(str);i++){
     s2[j++]=str[i];
     if(str[i]=='.') for(;str[i]=='.' && i<strlen(str);i++); 
    }

... Все выводим
    getch();
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2014, 20:10   #3
philqa
Новичок
Джуниор
 
Регистрация: 30.11.2014
Сообщений: 2
По умолчанию

спасибо большое,если не сложно,поясните пожалуйста принцип работы.
philqa вне форума Ответить с цитированием
Старый 30.11.2014, 20:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Принцип прост: Переписать все символы в новую строку. Когда дойдет до символа точки то в цикле пройти по всем следующим за ней символам пока эти символы тоже представляют точку. Таким образом происходит пропуск лишних символов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу на СИ: дано массив с n строк.В каждой строке заменить знаки восклицания на точки. novyky@ukr.net Общие вопросы C/C++ 9 24.01.2013 17:00
Написать программу на СИ: дано массив с n строк.В каждой строке заменить знаки восклицания на точки. Костя555 Помощь студентам 2 28.12.2012 00:39
в строке введенной с клавиатуры заменить все X на Y Richik123 Паскаль, Turbo Pascal, PascalABC.NET 7 18.04.2012 23:07
заменить в каждой строке все трехзначные слова. Procedure (Pascal) Клетка Паскаль, Turbo Pascal, PascalABC.NET 0 18.05.2011 22:45
Заменить в каждой строке воскл. знаки на точки. - язык Pascal Karinna Помощь студентам 12 08.05.2008 08:13