Форум программистов, компьютерный форум, киберфорум
Наши страницы

Оставить после знаков препинания только один пробел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить какие буквы используются чаще, стоящие вначале слова, в середине или в конце? http://www.cyberforum.ru/cpp-beginners/thread1223542.html
Код определяет, какая именно из букв повторяется чаще всего во введенном тексте. Как сделать, чтобы определял какие буквы используются чаще, стоящие вначале слова, в середине или в конце? #include...
C++ Не выполняет ветку if Доброго времени суток. Есть такой код: int main() { setlocale(LC_ALL, "Russian"); float x, E, U = x, Fa = sin(x), Fe = 1 + U; //U = x, Fa = sin(x), Fe = 1 + U int k = 2; char c; do { http://www.cyberforum.ru/cpp-beginners/thread1223535.html
Сравнение русских букв с их кодами C++
Всем доброго времени суток. Имеется проблема ввода русского языка в консоле(!), при выполнении программы. Суть задания: пользователь вписывает русскую гласную букву и ему возвращается 1 в функции...
C++ Как изменить иконку исполняемого файла
Добрый день. Написал игру маленькую, консольную. Решил послать её другу. Но у экзешника не красивая иконка. Долго ползал на форуме тут. Нашёл пару вариантов. Там написано мол добавляете...
C++ Как сделать проверку ответа пользователя? http://www.cyberforum.ru/cpp-beginners/thread1223506.html
Доброго времени суток. Есть такой код: int main() { setlocale(LC_ALL, "Russian"); float x, E, U = x, Fa = sin(x), Fe = 1 + U; //U = x, Fa = sin(x), Fe = 1 + U int k = 2; char c; do {
C++ Запись в бинарный файл и чтение из него Нужно записать в бинарный файл блоки, каждый по 512 байт. Структура блока: Слово Число. На слово отводится 508 байт, на число 4. После записи их надо иногда считывать обратно, но у меня ничего не... подробнее

Показать сообщение отдельно
Glebordan
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 37

Оставить после знаков препинания только один пробел - C++

06.07.2014, 23:03. Просмотров 813. Ответов 14
Метки (Все метки)

Прошу помочь с одной программой:
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 "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <Windows.h>
#include <string>
using namespace std;
int _tmain (int argc, _TCHAR* argv[])
{   setlocale (LC_ALL, "RUS");
    FILE *fp = fopen("Текст.txt","r");
    if ( NULL == fp )
    {
    printf("Не удалось открыть файл.");
    return 0;
    }
    char s[1024]="";
    char pchars[] = ".,?!:";
    while (!feof(fp))
    {   fgets(s,1024,fp);
      for (int i = 0; s[i] != '\0'; i++)
      if (strchr(pchars,s[i]) != NULL)
      {
         for (int t = strlen(s); t>=i; t--)
         s[t+1] = s[t];
         s[i+1] = ' ';
      }
     
       
    }
    printf("%s",s);
    system("pause");
    fclose(fp);
    }
Хочу чтобы после знаков препинания оставался только один пробел, не понимаю почему, но их остаётся два. И не знаю как убирать лишние пробелы(Не только после разделителей).
Буду очень благодарен за помощь))
И ещё, чтобы новую тему не создавать, так же я хочу чтобы в тексте два повторяющихся слова(они идут друг за другом) заменялись на одно, как это реализовать(не обязательно придумывать код, просто подкиньте идейку )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru