Во вводимом с клавиатуры тексте удалить все пробелы, знаки табуляции - C (СИ)
Формулировка задачи:
Нужно написать программу, которая во вводимом с клавиатуры тексте удалит все пробелы, знаки табуляции и
выведет количество удаленных символов на экран. Получилось пробелы убрать, а со знаками табуляции и выводом не особо понятно, как делать
#include <stdio.h> #include <conio.h> int main(void) { char text[100], blank[100]; int c = 0, d = 0; printf("Vvedite lyuboy tekst\n"); gets(text); while(text[с] != '\0') { if(!(text[с] == ' ' && text[c+1] == ' ')) { blank[d] = text[с]; d++; } c++; } blank[d] = '\0'; printf("Otredaktirovanniy tekst\n%s\n", blank); getch(); return 0; }
Решение задачи: «Во вводимом с клавиатуры тексте удалить все пробелы, знаки табуляции»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <string.h> int main(void) { char text[100],res[100]=""; int c = 0, d = 0,i,k=0; printf("Vvedite lyuboy tekst\n"); gets(text); for(i=0;i<strlen(text);i++) { if((text[i]==' ')||(text[i]=='\t')) { strncpy(&res[с],&text[d],i-d); k++; c=c+i-d; d=i+1; } } strncpy(&res[с],&text[d],strlen(text)-d); printf("Otredaktirovanniy tekst\n%s\n kol=%d", res,k); getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками.
- Объявление переменных:
- text[100] - массив символов, в который с клавиатуры будет вводиться текст;
- res[100] = `` - массив символов, в который будет записываться результат (отредактированный текст);
- c = 0 - счётчик пробелов;
- d = 0 - счётчик символов в редактируемом тексте;
- i, k = 0 - счётчики для цикла;
- Вывод приглашения для ввода текста.
- Ввод текста с клавиатуры с помощью функции gets(text).
- Цикл, который проходит по всем символам введённого текста.
- Внутри цикла проверяется, является ли текущий символ пробелом или табуляцией.
- Если символ является пробелом или табуляцией, то с помощью функции strncpy копируются символы из редактируемого текста в отредактированный текст, при этом счётчик пробелов увеличивается на 1.
- После выхода из цикла, в отредактированный текст копируются все оставшиеся символы из редактируемого текста.
- Вывод отформатированного текста.
- Получение сигнала окончания работы программы (нажатие клавиши Enter) с помощью функции getch().
- Возврат 0, что означает успешное окончание работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д