посчитать количество слов в строке имеющих 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 букв";
}