Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stddef.h>
- #define MAX_LEN 512
- char *seps = "+=*";
- int is_sep ( char ch ) {
- if ( ch == '\0' ) return 1;
- int i; for ( i = 0; seps[ i ]; i++ ) {
- if ( seps[ i ] == ch ) {
- return 1;
- }
- }
- return 0;
- }
- char *write_with_rotate ( char *src, char *dst ) {
- char *_src = src, *_dst = dst, *t;
- // bull shit code here!
- while ( !is_sep ( *src ) ) src++;
- while ( *src != '\0' ) {
- char *back = src;
- while ( is_sep ( *src ) ) src++;
- while ( !is_sep ( *src ) ) {
- *dst = *src;
- src++; dst++;
- } t = src; src = back; back = t; // this is swap 'src' with 'back'
- while ( is_sep ( *src ) ) {
- *dst = *src;
- src++; dst++;
- } src = back;
- } src = _src;
- while ( !is_sep ( *src ) ) {
- *dst = *src;
- src++; dst++;
- } *dst = '\0';
- return _dst;
- }
- int main ( int argc, char **argv ) {
- char input[ MAX_LEN ], output[ MAX_LEN ];
- fgets ( input, MAX_LEN, stdin ); input[ strlen ( input ) - 1 ] = '\0';
- printf ( "%s", write_with_rotate ( input, output ) );
- system ( "PAUSE" );
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement