Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <Windows.h>
- #include <clocale>
- #include <iostream>>
- using namespace std;
- int main() {
- setlocale(LC_ALL, "Russian");
- /*
- В string хранится введенная строка.
- В buff хранится слово
- В buff2 хранится номер слова, переведенный из int в char
- В moddedString хранится измененная строка
- */
- char string[64];
- char buff[16] = "00000000";
- // Вводим строку
- printf("Введите строку: ");
- gets_s(string, 64);
- // wordsCounter - текущее слово, buffCounter - указатель на элемент строки buff, начинаем с нуля
- int wordsCounter = 1;
- int buffCounter = 0;
- // Ставим единичку для первого слова
- if (string[0] != ' ') {
- printf("(%d)", wordsCounter);
- wordsCounter++;
- }
- // Наша строка moddedString будет иметь вид "(1)"
- // Проходимся по всей строке string по символу
- for (int i = 0; i < strlen(string); i++) {
- // Если нашелся конец строки
- if (string[i + 1] == '\0') {
- // Записываем в буфер еще один символ из нашей строки
- buff[buffCounter] = string[i];
- // Говорим, что на этом строка buff закончилась
- buff[buffCounter + 1] = '\0';
- // Присоединяем к нашей новой строке строку buff
- cout << buff << " ";
- }
- // Если нашелся не пробел
- if (string[i] != ' ') {
- // В строку buff записываем символ из строки string
- buff[buffCounter] = string[i];
- buffCounter++;
- }
- else if (string[i + 1] == ' ') {
- continue;
- }
- else {
- // Сразу говорим, что строка buff закончилась
- buff[buffCounter] = '\0';
- // Присоединяем строку buff к строке moddedString
- cout << buff << " ";
- // Следующие действия присоединяют к нашей строке moddedString номер слова в формате " (wordCounter)"
- if (buff[0] != '\0') {
- printf("(%d)", wordsCounter);
- wordsCounter++;
- buffCounter = 0;
- }
- // Увеличиваем wordsCounter на единицу для перехода к следующему слову и обнуляем указатель на buff, чтобы начинать записывать с начала строки
- }
- }
- cout << endl;
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement