Решена вторая часть работы

main
GorokhovDE 5 месяцев назад
Родитель 55409af4b2
Сommit 7f4b849e2c

@ -0,0 +1,35 @@
#include <cstdio> // Äëÿ fgets()
#include <cstring> // Äëÿ strspn() è strcspn()
#include <iostream>
using namespace std;
int main() {
const size_t MAX_SIZE = 256; // Ìàêñèìàëüíûé ðàçìåð ñòðîêè
char text[MAX_SIZE]; // Ìàññèâ äëÿ ââîäà ñòðîêè
const char* separators = " \r\n,.!?:;()-"; // Ðàçäåëèòåëè ñëîâ
// Ââîä ñòðîêè ñ êîíñîëè
cout << "Enter a string: ";
fgets(text, MAX_SIZE, stdin);
const char* start = text; // Óêàçàòåëü íà íà÷àëî ñòðîêè
// Öèêë äëÿ îáðàáîòêè ñòðîêè
while (true) {
const size_t separator_count = strspn(start, separators); // Êîë-âî ðàçäåëèòåëåé â íà÷àëå
start += separator_count; // Ïðîïóñê ðàçäåëèòåëåé
if (start[0] == '\0') { // Åñëè äîñòèãíóò êîíåö ñòðîêè, çàâåðøèòü
break;
}
const size_t word_length = strcspn(start, separators); // Äëèíà ñëåäóþùåãî ñëîâà
cout.write(start, word_length); // Ïå÷àòü ñëîâà
cout << '\n'; // Ïåðåâîä ñòðîêè
start += word_length; // Ïåðåìåñòèòü óêàçàòåëü íà ñëåäóþùèé áëîê
}
return 0;
}
Загрузка…
Отмена
Сохранить