посчитать количество слов в строке имеющих 1-10 букв. при этом НЕЛЬЗЯ ПОЛЬЗОВАТЬСЯ ЦИКЛАМИ, ИТЕРАЦИЯМИ, И КЛАССОМ string

посчитать количество слов в строке имеющих 1-10 букв. и вывести мол столько слов имеют 3 буквы, столько - 10 и т.д. при этом НЕЛЬЗЯ ПОЛЬЗОВАТЬСЯ ЦИКЛАМИ, ИТЕРАЦИЯМИ, И КЛАССОМ string. я кое-как сделал но все-же присутствует цикл. Пример:

   #include <cstring>
#include <iostream>
#include <windows.h>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL, "ru");
    cout << "Введите строку:" << endl;
    char string[500];
    gets_s(string);
    char* token = nullptr, * next_token = nullptr;
    int g = 0;
    char x1[500]{}, x2[500]{}, x3[500]{}, x4[500]{}, x5[500]{}, x6[500]{}, x7[500]{}, x8[500]{}, x9[500]{}, x10[500]{};
    const char* separates = " ,\/.?!:;";
    token = strtok_s(string, separates, &next_token);
    while (token)
    {
        int t = strlen(token);
        if (t == 1)      strcat_s(x1, token);
        else if (t == 2) strcat_s(x2, token);
        else if (t == 3) strcat_s(x3, token);
        else if (t == 4) strcat_s(x4, token);
        else if (t == 5) strcat_s(x5, token);
        else if (t == 6) strcat_s(x6, token);
        else if (t == 7) strcat_s(x7, token);
        else if (t == 8) strcat_s(x8, token);
        else if (t == 9) strcat_s(x9, token);
        else if (t == 10)strcat_s(x10, token);
        else g = 1;
        token = strtok_s(0, separates, &next_token);
    }
     cout << "слова имеющие 1 букву = " << strlen(x1) << endl;
     cout << "слова имеющие 2 буквы = " << strlen(x2)/2 << endl;
     cout << "слова имеющие 3 буквы = " << strlen(x3)/3 << endl;
     cout << "слова имеющие 4 буквы = " << strlen(x4)/4 << endl;
     cout << "слова имеющие 5 букв  = " << strlen(x5)/5<< endl;
     cout << "слова имеющие 6 букв  = " << strlen(x6) / 6 << endl;
     cout << "слова имеющие 7 букв  = " << strlen(x7)/7 << endl;
     cout << "слова имеющие 8 букв  = " << strlen(x8)/8 << endl;
     cout << "слова имеющие 9 букв  = " << strlen(x9)/9 << endl;
     cout << "слова имеющие 10 букв = " << strlen(x10)/10 << endl;
     if (g == 1) cout << "в тексте присутствуют слова в которых более 10 букв";
}

Ответы (1 шт):

Автор решения: Bogdasar

Я думаю, что нужно использовать goto.

→ Ссылка