//////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
#include <cctype>
//////////////////////////////////////////////////////////////////////////
typedef std::string T_str;
//////////////////////////////////////////////////////////////////////////
int main()
{
T_str str("ololo.ahah...eheheh..blablabla.wtf");
for(int i = 0; i < str.size(); i++)
{
if(str == '.' && isalpha(str[i+1]) && isalpha(str[i-1]))
{
str = str[i+1] = str[i-1] = '.';
}
}
std::cout << str;
return 0;
}
/////////////////////////////////////////////////////////////////////////
Строки в С++ просинькая программа:
пробовал написать такое, но работала она у меня лишь до первой замены:
#include <conio.h>
int main(void)
{
char str[32] = "Hello, World", result[64], *pc;
/* Заменяем букву W на три точки */
pc = strchr(str, 'W');
*pc++ = '\0';
strcat(strcat(strcpy(result, str), "..."), pc);
printf(result);
getch();
return 0;
}
и такое:
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main()
{ setlocale (LC_ALL, "Russian");
char s[40] ="Hello... World.",p;
p=*strchr(s, 'W');
cout<<"Ваша начальная строка:"<<endl<<s<<endl;
char *p=s;
char *q=s;
while (p)
{
q++;
if(p='.' && p++!='.') p++;//только одна точка
Тебе нужны 2 массива символов. До тех пор, пока не встретилась точка, копируешь символы из 1 массива во 2. Как только встретилась точка, смотришь следующий символ. Если следующий символ не точка, то копируешь во 2 массив 3 точки, а если точка, то копируешь во 2 массив 3 точки смещаешься в 1 массиве на 3 позиции вправо.
Цитата: Fenja
Тебе нужны 2 массива символов. До тех пор, пока не встретилась точка, копируешь символы из 1 массива во 2. Как только встретилась точка, смотришь следующий символ. Если следующий символ не точка, то копируешь во 2 массив 3 точки, а если точка, то копируешь во 2 массив 3 точки смещаешься в 1 массиве на 3 позиции вправо.
не прошу делать всю программу, напиши хотя бы как это реализуется: копирование до точки, вставка точки, смещение.
Если С++ - то почему бы не использовать std::string?