Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- void Substr(char* str, int str_len) {
- int len_str_str = 0;
- char *i, *j;
- j = NULL;
- char* new_str = (char*)malloc(sizeof(char));
- for (i = str; i < str + str_len; i++) {
- if (isdigit(*i)) {
- *(new_str + len_str_str) = *i;
- new_str = (char*)realloc(new_str, (1 + (len_str_str++)) * sizeof(char));
- }
- if ((i != str) && (!isdigit(*i)) && (isdigit(*(i - 1)))) {
- *(new_str + len_str_str) = ' ';
- new_str = (char*)realloc(new_str, (1 + (len_str_str++)) * sizeof(char));
- }
- }
- *(new_str + len_str_str) = '\0';
- int len = 0, min_len = len_str_str;
- for (i = strtok(new_str, " "); i != NULL; i = strtok(NULL, " ")) {
- if (strlen(i) < min_len) {
- min_len = strlen(i);
- j = i;
- }
- }
- for (i = j; i < j + min_len; i++) {
- printf("%s", i);
- }
- }
- int main() {
- int str_len = 0;
- char ch;
- char* str = (char*)malloc(sizeof(char));
- //Введение строки
- printf("Enter string:\n");
- while ((ch = getchar()) != '\n') {
- *(str + str_len) = ch;
- str = (char*)realloc(str, (1 + (str_len++)) * sizeof(char));
- }
- *(str + str_len) = '\0';
- Substr(str, str_len);
- return 0;
- }
Add Comment
Please, Sign In to add comment