profile
Размещено 6 лет назад по предмету Информатика от antonzalozniu2

Здравствуйте помогите решить задачу по программированию на языке C++
Задача:Создать массив литературных произведений отсортировать в порядке увеличения количества символов в названии вывести на экран название с самым маленьким и самым большим количеством символов, с самым маленьким и самым большим количеством гласных, и самым маленьким и самым большим количеством согласных.

  1. Ответ на вопрос
    Ответ на вопрос дан GURU921

    Ответ:

    #include "stdafx.h"

    #include <iostream>

    #include <string>

    #include <fstream>

    #include <windows.h>

    using namespace std;

    int main()  

    {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);

    setlocale(LC_ALL, "Russian");

    int str;

    cout << "Введите количество произведений: ";

    cin >> str;

    string glasnie = "ауоыиэяюеё";

    string soglasnie = "бвгджзйклмнпрстфхцчшщ";

    string * text = new string[str];

    string buffer;

    cin.get();

    for (int i = 0; i < str ; i++)

    {

     cout << "Название [" << i + 1 << "]: ";

     getline(cin, buffer);

     text[i] += buffer;

    }

     

    cout << "nСортировка по самому длинному названию: " << endl;

    for (int i = 0; i < str - 1; i++)

    {

     for (int j = i + 1; j < str; j++)

     {

      if (text[i].length() < text[j].length())

      {

       string box = text[i];

       text[i] = text[j];

       text[j] = box;

      }

     }

    }

    for (int i = 0; i < str; i++)

    {

     cout << text[i] << endl;

    }

    cout << "nСамое большое количество символов: " << text[0] << endl;

    cout << "Самое малое количество символов: " << text[str-1] << endl;

    int glasn_max = 0;

    int glasn_min = 0;

    string gmax, gmin;

    bool check = 0;

    for (int i = 0; i < str; i++)

    {

     int counter = 0;

     for (int j = 0; j < text[i].length(); j++)

     {

      for (int k = 0; k < glasnie.length(); k++)

      {

       if (text[i][j] == glasnie[k])

       {

        counter++;

       }

      }

     }

     if (check == 0)

     {

      check = 1;

      glasn_min = counter;

      gmin = text[i];

     }

     if (glasn_max < counter)

     {

      glasn_max = counter;

      gmax = text[i];

     }

     if(glasn_min > counter)

     {

      glasn_min = counter;

      gmin = text[i];

     }

    }

    cout << "nСамое большое кол-во гласных: " << gmax << endl;

    cout << "Самое малое кол-во гласных: " << gmin << endl;

    int sglasn_max = 0;

    int sglasn_min = 0;

    string sgmax, sgmin;

    check = 0;

    for (int i = 0; i < str; i++)

    {

     int counter = 0;

     for (int j = 0; j < text[i].length(); j++)

     {

      for (int k = 0; k < soglasnie.length(); k++)

      {

       if (text[i][j] == soglasnie[k])

       {

        counter++;

       }

      }

     }

     if (check == 0)

     {

      check = 1;

      sglasn_min = counter;

      sgmin = text[i];

     }

     if (sglasn_max < counter)

     {

      sglasn_max = counter;

      sgmax = text[i];

     }

     if (sglasn_min > counter)

     {

      sglasn_min = counter;

      sgmin = text[i];

     }

    }

    cout << "nСамое большое кол-во согласных: " << sgmax << endl;

    cout << "Самое малое кол-во согласных: " << sgmin << endl;

    delete[] text;

    return 0;

    }

    Объяснение:

    Писал в visual studio. Как работает: Вводишь число произведений, далее вводишь названия произведений. Ввел одно название, жмешь Enter, вводишь следующее название и так до конца.

    Код получился большим относительно, можно меньше, но тогда будет немного сложен для начинающих программистов, поэтому писал максимально простым языком.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.