Art3as (23:12:36 04/10/2010) // Óäaëÿeò ëèøíèe '/', '.', êoíe÷íûé '/' void excess(char *str) { int k, i; k = len(str); for (i=1; i<=k; i++) { if ((*(str+i) == '/') && (*(str+i-1) == '/') ) { shift(str+i-1); --i; } if ( (*(str+i) == '.') && (*(str+i-1) == '/') && (*(str+i+1) == '/') ) { shift(str+i); shift(str+i); --i; } } k = len(str); if ( *(str+k-1) == '/' ) shift(str+k-1); } Art3as (23:12:58 04/10/2010) len - ïpoâepêa äëèíû Art3as (23:13:11 04/10/2010) shift - yäaëeíèe ïepâão cèìâoëa Ï@çèTIFF÷Õã (23:13:23 04/10/2010) Èx òoãäa òoæe) Art3as (23:13:31 04/10/2010) int len(char *str) { int i=0; while ( *(str+i) != '\0' ) i++; return i; } Art3as (23:13:39 04/10/2010) void shift(char *path) { char ch; int i=1; do { ch = *(path+i); *(path+i-1) = ch; ++i; } while (ch != '\0'); }