Тема: Перевантаження операцій С++
Добрий день, потрібна допомога із з таким завданням
Перевантажити операції >= (порівняння рядків символів україномовного тексту за абеткою), * (перевірка входження підрядка у рядок), відсортувати масив екземплярів класу рядків символів за спаданням в абетковому порядку з використанням алгоритму сортування вибором, перевірити входження кожного рядка символів у масиві в інші рядки у цьому ж масиві.
#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;
}