Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab3strings

Snippet info

Language

Cpp

Visibility

public

Author

skezze

Created

2020-03-20T16:02:30Z

Updated

2020-03-20T16:44:30Z

#include <iostream>
#include <string>
#include <ctime>
#include<limits>
#include <string.h>
using namespace std;
int main()
{
    setlocale(0, "");
    srand(time(NULL));
    int swit;
    while (1)
    {
        cout << "введите уровень сложности \n1 - базовый\n2 - средний\n3 - сложный" << endl;
        cin >> swit;
        if (swit == 1 || swit == 2 || swit == 3)
            break;
        cin.clear(); // на случай, если предыдущий ввод завершился с ошибкой
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        system("cls");
    }
    if (swit == 1)
    {
        char alphabet[66],a = 'А',massive[15],sogl[20] = { 'а', 'у', 'о', 'ы', 'и', 'э', 'я', 'ю', 'ё', 'е' ,'А','У','О','Ы','И','Э','Я','Ю','Ё','Е'};
        int t=0;
        for (int i = 0; i < 66; i++)
        {
            alphabet[i] = a++;
        }
        for (int i = 0; i < 15; i++)
        {
            massive[i] = alphabet[rand() % 27];
            for (int j = 0; j < 22; j++)
            {
                if(massive[i]==sogl[j])
                {
                    t++;
                }
            }
        }
        cout << "гласных: " << t << endl;
    }
    else if (swit == 2)
    {
        string str;

        int Size;
        int ArrIndex = 0;

        cout<< "введите строку: ";
        cin.clear(); // на случай, если предыдущий ввод завершился с ошибкой
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        getline(cin,str);
       // short a = str.length();
        string *Element= new string[str.length()];

        for (int i = 0; i < str.length(); i++)
        {
            if (str[i] != ' ' && str[i] != '.')
                Element[ArrIndex] += str[i];

            else
                ArrIndex++;
        }

        cout << endl;

        for (int j = 0; j < str.length(); j++)
        {
            Size = 0;

            for (int k = 0; k < Element[j].length(); k++)
                Size++;

            if (Size == 3)
                cout << "слово содержащее 3 символа : " << Element[j] << endl;
        }

    }
    else if (swit == 3)
    {
        string input;
        int j = 0, k = 0;
        string massive[20];
        do {
            cout << "введите массив из 20 символов" << endl;
            cin.clear(); // на случай, если предыдущий ввод завершился с ошибкой
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            getline(cin, input);
        } while (input.length() != 20);//длина возвращает на 1 меньше
        for (size_t i = 0; i < 20; i++)
        {
            if (input[i] == ' ' || input[i] == '.')
            {
                    j++;
            }
            else {

                massive[j]+= input[i];//bug
                k++;
            }

        }
         
         for (size_t i = 0; i <= j; i++)
         {
             if (massive[i].length()>1 && massive[i][0] == massive[i][massive[i].length()-1])
             {
                 cout << "слово начинается и заканчивается на одну букву : " <<massive[i]<< endl;
             }

         }

      
    }
    return 0;
}
INFO