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

Перед и после каждого тире в тексте поставить пробелы (строки). - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
LP_Warrior
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 4
15.05.2011, 20:08     Перед и после каждого тире в тексте поставить пробелы (строки). #1
Перед и после каждого тире в тексте поставить пробелы. Написать программу с помощью строк.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 20:08     Перед и после каждого тире в тексте поставить пробелы (строки).
Посмотрите здесь:

C++ строки С++(После каждого символов '.' вставить два пробела, подсчитать, сколько раз пара символов 'C+' стоит перед символом 'D')
программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробелы C++
Вывести на экран только предложения, которые начинаются с тире (перед ним могут находиться пробелы) C++
Удалить пробелы и после каждого 5 элемента поставить знак вопроса C++
Удалить из строки все пробелы, расположенные перед знаком препинания C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.05.2011, 20:19     Перед и после каждого тире в тексте поставить пробелы (строки). #2
Цитата Сообщение от LP_Warrior Посмотреть сообщение
Перед и после каждого тире в тексте поставить пробелы. Написать программу с помощью строк.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(){
  char str[BUFSIZ], res[BUFSIZ] = {'\0'}, *s, *r = res;
  scanf("%[^\n]%*c", str);
  for(s = str; *s; ++s){
    if(*s == '-'){
      *r++ = ' ';
      *r++ = *s;
      *r++ = ' ';
    }
    else
      *r++ = *s;
  }
  puts(res);
  return 0;
}
LP_Warrior
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 4
15.05.2011, 20:32  [ТС]     Перед и после каждого тире в тексте поставить пробелы (строки). #3
Ого! Спасибо. А можно что-то попроще?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.05.2011, 20:34     Перед и после каждого тире в тексте поставить пробелы (строки). #4
Цитата Сообщение от LP_Warrior Посмотреть сообщение
А можно что-то попроще?
Это и есть попроще.
LP_Warrior
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 4
15.05.2011, 23:20  [ТС]     Перед и после каждого тире в тексте поставить пробелы (строки). #5
А можно с комментариями?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
16.05.2011, 01:09     Перед и после каждого тире в тексте поставить пробелы (строки). #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
#include<string.h>
 
int main(){
    char res[BUFSIZ]={'\0'}, *r = res;
    for(; (*r=getchar())!='\n'; ++r){
        if(*r == '-'){
            strcpy(r, " - ");
            r+=2;
        }
    }
    printf(res);
    return 0;
}
Yandex
Объявления
16.05.2011, 01:09     Перед и после каждого тире в тексте поставить пробелы (строки).
Ответ Создать тему
Опции темы

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