Форум » C/C++ для начинающих (C/C++ for beginners) » ­Инверсия отдельных слов в строке. » Ответить

­Инверсия отдельных слов в строке.

Сыроежка: [pre2] #include <stdio.h> #include <string.h> char * reverse_word( char *s, size_t n ) { for ( size_t i = 0; i < n / 2; i++ ) { char c = s; s = s[n-i-1]; s[n-i-1] = c; } return s; } char * reverse_by_words( char *s, const char *delimiters ) { reverse_word( s, strlen( s ) ); size_t i = 0; for ( char *p = s; *p; p += i ) { i = strcspn( p, delimiters ); reverse_word( p, i ); if ( p != '\0' ) ++i; } return s; } int main(void) { char s[] = "This.is.not.the.proper.way"; puts( s ); puts( reverse_by_words( s, "." ) ); return 0; }[/pre2]­

Ответов - 1

Сыроежка: *PRIVAT*



полная версия страницы