Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*Вариант 22
- *
- * Написать функцию, удаляющую лишние пробелы в тексте
- *
- * функция eleminat_prb получает указатель на входной массив и на массив результата
- * пока массив не закончился, она переписывает посимвольно входной массив в массив результата, если функция встречает пробел, то она пропускает все последующие пробелы,
- * пока снова не начнустя символы
- */
- int get_len(const char* str)
- {
- int len = 0;
- while(str[len]){
- len++;
- }
- return len;
- }
- void eleminat_prb(char* buff, char* result){
- int i = 0;
- int j = 0;
- int counter = 1;
- while(buff[i] != '\0'){
- if(buff[i] == ' '){
- result = (char*)realloc(result, sizeof(char));
- result[j] = buff[i];
- counter++;
- while(buff[i+1] == ' '){
- i++;
- }
- }
- result = (char*)realloc(result, sizeof(char));
- result[j] = buff[i];
- counter++;
- i++;
- j++;
- }
- }
- int main()
- {
- char buff[256];
- scanf("%s", &buff);
- int len = get_len(buff);
- printf("%d\n", len);
- //char buff = (char*)malloc(sizeof(char));
- char result = (char *)malloc(sizeof(char));
- eleminat_prb(buff, result);
- printf("%s\n", result);
- free(result);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement