Проверка условия: являются ли оба символа пробелами - C (СИ)
Формулировка задачи:
- #include <algorithm>
- #include <iostream>
- #include <iterator>
- #include <string>
- using namespace std;
- // Проверка условия: являются ли оба символа пробелами
- bool BothAreSpaces(char c1, char c2)
- {
- return c1 == ' ' && c2 == ' ';
- }
- int main()
- {
- string s;
- // Читаем строку
- getline(cin, s);
- // Ищем первый непробел
- string::size_type pos1 = s.find_first_not_of(' ');
- // Ищем последний непробел
- string::size_type pos2 = s.find_last_not_of(' ') + 1;
- string s1;
- // Копируем часть s от pos1 до pos2 в s1, удаляя последовательно идущие символы, удовлетворяющие условию
- unique_copy(s.begin() + pos1, s.begin() + pos2, back_inserter(s1), BothAreSpaces);
- // Выводим результат
- cout « s1 « endl;
- }
Решение задачи: «Проверка условия: являются ли оба символа пробелами»
- #include <stdio.h>
- #define GUESS_MAX_LINE_LENGTH 1024
- int main(void)
- {
- char line[GUESS_MAX_LINE_LENGTH], ch;
- int index, state = 0;
- for (index = 0; (ch = getchar()) && ch != '\n' && ch != EOF; )
- {
- if (!state && ch == ' ')
- {
- state = 1;
- line[index++] = ch;
- }
- else if (ch != ' ')
- {
- if (state)
- {
- state = 0;
- }
- line[index++] = ch;
- }
- }
- line[index] = '\0';
- printf("%s\n", line);
- }
Объяснение кода листинга программы
В этом коде определен массив символов line
и переменная index
для отслеживания позиции ввода в строке. Переменная state
используется для отслеживания текущего состояния ввода. Изначально state
равно 0, что означает, что мы ищем начало строки. Когда мы находим пробел и state
все еще равно 0, мы переводим state
в 1, что означает, что мы ищем конец строки. Когда мы находим символ, который не является пробелом, мы обновляем state
на 0, чтобы начать следующую строку. Мы добавляем символы, которые мы находим, в line
, увеличивая index
на каждом шаге. Когда мы достигаем конца строки, мы добавляем символ новой строки в line
и выводим line
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д