1

Тема: Перевантаження операцій С++

Добрий день, потрібна допомога із з таким завданням

Перевантажити операції >= (порівняння рядків символів україномовного тексту за абеткою), * (перевірка входження підрядка у рядок), відсортувати масив екземплярів класу рядків символів за спаданням в абетковому порядку з використанням алгоритму сортування вибором, перевірити входження кожного рядка символів у масиві в інші рядки у цьому ж масиві.

#include "stdafx.h"

#include <iostream>
#include <locale>
#include "windows.h"

#pragma warning(disable:4996)
using namespace std;

class Sentences {

private:
    char first[100], second[100], *p1, *p2, *a, *b;
    const char* limit;
    int c, d, res;
public:

    Sentences(){
        limit = " ";
        first[0] = '\0';
        second[0] = '\0';
        p1 = first;
        p2 = second;
        c = 0; d = 0; res =0;
    }
  

    void Input(){

        while (1) {
            cout << "Введіть перше українське речення: "<< endl;
            gets_s(first);
            c = strlen(first);
            p1 = first;
            if (*p1 >= 'A' && *p1 <= 'z') {
                cout << "Ви ввели не українське речення!"<< endl << endl;;
            }
            else {
                
                break;
            }
        }
        first[c] = '\0';

        while (1) {
            cout << "Введіть другий український рядок: "<< endl;
            gets_s(second);
            d = strlen(second);
            p2 = second;
            if (*p2 >= 'A' && *p2 <= 'z') {                
                cout << "Ви ввели не українське речення!"<< endl << endl;;
            }
            else {
                
                break;
            }
        }
        second[d] = '\0';
    }
    void Output() {
        cout << endl << "Введено: " << endl;
        cout << endl << "Перше: " << first << endl;
        cout  << "Друге: " << second<< endl;
    }

    void Concatenation() {
        strcat_s(first, second);
        cout << endl <<"Об'єднане речення: " << first << endl;
    }

    void Substring() {
        a = strtok(first, limit);
        while (a != NULL) {
            if (strstr(second, a) != 0) {
                res++;
            }
            
            a = strtok(NULL, limit);
        }
        if (res > 0) 
            cout << endl << "Підрядок входить у рядок" << endl;
        else
            cout << endl << "Підрядок не входить у рядок" << endl;
     
        
    }
   

    

        ~Sentences() {}
};

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    Sentences ukr_sent;
    ukr_sent.Input();
    ukr_sent.Output();
   
    ukr_sent.Concatenation();
    ukr_sent.Substring();

    return 0;
}

2

Re: Перевантаження операцій С++

І у чому проблема?

3

Re: Перевантаження операцій С++

wander написав:

І у чому проблема?

відсортувати масив екземплярів класу рядків символів за спаданням в абетковому порядку з використанням алгоритму сортування вибором, перевірити входження кожного рядка символів у масиві в інші рядки у цьому ж масиві. Ось це я не розумію, і прошу допомоги

4

Re: Перевантаження операцій С++

elrego написав:
wander написав:

І у чому проблема?

відсортувати масив екземплярів класу рядків символів за спаданням в абетковому порядку з використанням алгоритму сортування вибором, перевірити входження кожного рядка символів у масиві в інші рядки у цьому ж масиві. Ось це я не розумію, і прошу допомоги

Що саме вам тут не зрозуміло? Взагалі все? Чи може ви щось намагалися самі зробити, якщо так, то давайте напрацювання, будемо розбиратися.

5

Re: Перевантаження операцій С++

elrego написав:
wander написав:

І у чому проблема?

відсортувати масив екземплярів класу рядків символів за спаданням в абетковому порядку з використанням алгоритму сортування вибором, перевірити входження кожного рядка символів у масиві в інші рядки у цьому ж масиві. Ось це я не розумію, і прошу допомоги

я не можу зробити ось це сортування і перевірку. Мені це найтяжче зробити саме з символьним рядком. Тому я прошу допомоги тому що в інтернеті чогось схожого немає(або я погано шукав), якщо б хтось міг вписати це сортування в мій код я б вже знай як це робити