В последовательности символов удалить все запятые до первой точки - C (СИ)
Формулировка задачи:
Задачка такая
Необходимо в последовательности символов удалить все запятые до первой точки, а далее все символы 4 и 8 заменить на знак +
последовательность вводится с клавиатуры
?
Этот пример удаляет пробелы и все после точки, но дальше меня не хватает!
зарание спасибо!
#include <iostream.h> #include <conio.h> void main() { clrscr(); char s,z; cout << "введите последовательность с точкой в конце: " << endl; cin.unsetf(ios :: skipws); for(z=s=' ';z!='.';s=z) { cin >> z; if(z==' '&&s==' '); cout << z; cout << s; } getch(); }
Решение задачи: «В последовательности символов удалить все запятые до первой точки»
textual
Листинг программы
#include <iostream.h> #include <stdio.h> void main() { int f, t; char z; cout << "Введите 2 предложения заканчивающиеся точкой," << endl; cout << "содержащие запятые и цифры 4 и 8." << endl; cin.unsetf(ios :: skipws); f=0; t=0; while(t<2) { cin >> z; if(z=='.')f=1,t++; if(f==0) { if(z!=',') cout << z; } else { if((z=='4')||(z=='8')) cout << "+"; else cout << z; } } cout << endl << "Конец программы. Нажмите любую клавишу."; getchar(); }
Объяснение кода листинга программы
Код считывает два предложения, заканчивающиеся точкой, содержащие запятые и цифры 4 и 8.
- Переменные:
- f, t (счетчики)
- z (символ)
- Цикл while считывает первое предложение:
- Счетчик t увеличивается на единицу при каждой точке.
- Если введенный символ является точкой, то счетчик f устанавливается в единицу.
- Вторая часть цикла (если f == 0) выводит все символы кроме запятых:
- Если введенный символ не является запятой, он выводится.
- Вторая часть цикла (если f == 1) выводит символы '4' и '8' с плюсом перед ними:
- Если введенный символ является '4' или '8', перед ним выводится плюс.
- Вывод сообщения
Конец программы. Нажмите любую клавишу.
- Программа ожидает нажатия клавиши для завершения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д