Родитель
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;
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче