#include "stdafx.h"
#include <iostream>
using namespace std;
char* change(char *str)
{
char* p1, *p2;
for (p1 = p2 = str; *p1; *p1 = *p2)
{
if (*p2 != *(p2 + 1))
++p1;
++p2;
}
return str;
}
int main()
{
char str[] = "abbccc 1223";
puts(change(str));
system("pause");
return 0;
}
char* change(char *str)
{
char* p1; //указатель на очередной отличный от следующего символ
char* p2; //указатель на очередной символ в строке
//вначале указатели указывают на начало строки
//циклим, пока не сформируем всю строку, не встретим последний 0
//в конце каждого шага копируем нужный отличающийся символ на новое (возможно, старое) место
for (p1 = p2 = str; *p1; *p1 = *p2)
{
if (*p2 != *(p2 + 1)) //если текущий символ отличается от следующего
++p1; //то сдвигаем указатель отличающихся символов на 1
//для равных указатель останется без изменения
// тем самым, одинаковые удалятся из строки
++p2; //сдвигаем указатель очередных символов на 1
//по команде *p1 = *p2 символ по адресу p2 запишется по адресу p1
}
return str; //вернем адрес строки
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.