Скачиваний:
0
Добавлен:
31.05.2025
Размер:
2.05 Кб
Скачать
#include <iostream>
#include <windows.h>

class string {
	char str[80];
	int length;
	public:
		void input();
		void output();
		int check_symbols();
		int check_a();
		int words_number();
		void Run();
        string& operator= (string &s1)
		 {
        	strcpy(str, s1.str);
			length = s1.length;
			return *this;
		}
};

void string::input() 
{
	printf("Введите строку.\n");
	gets(str);
	length = strlen(str);
}

void string::output() {
	printf("Ваша строка: ");
	puts(str);
	printf("Длина строки: %d\n", length);
}

int string::check_symbols() {
    int check = 0;
    for (int i = 0; i < length; i++) {
        if (((str[i] > 0)&&(str[i] < 32))||((str[i] > 33)&&(str[i] < 65))||((str[i] > 90)&&(str[i] < 97))||((str[i]  > 122)&&(str[i] < 128))||(str[i] > 175))
        check = 1;
    }
    if (check == 1) 
	printf("В строке присутствуют символы, отличные от букв.\n");
    else
	 printf("В строке только буквы.\n");
}

int string::check_a() 
{
	int check = 0;
	if ((str[0] == 192)||(str[0] == 224)||(str[0] == 97)||(str[0] == 65)) check = 1;
	if (check == 1) printf("Строка начинается с буквы А.");
	else printf("Строка начинается не с буквы А.");
}

int string::words_number() {
	int amount = 1;
	for (int i = 0; i < length; i++) 
	{
		if (str[i] == 32) amount = amount + 1;
		else amount = amount;
	}
	printf("\nКоличество слов: %d\n", amount);
	return amount;
}

void string::Run() {
	int j, new_length = 0;
	if (length > 15)
		for (int i = 0; i < length; i++) 
		if (!((str[i] > 96)&&(str[i] < 123))) 
		new_length = new_length + 1;
		char new_str[new_length];
		for (int i = 0; i < length; i++) if (!((str[i] > 96)&&(str[i] < 123))) 
		{
			new_str[j++] = str[i];
		}
	strcpy(str, new_str);
	length = new_length;
}

int main(int argc, char** argv) {
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	class string S1, S2;
	S1.input();
	S1.output();
	S1.check_symbols();
	S1.check_a();
	S1.words_number();
	S2 = S1;
	S2.Run();
	S2.output();
}
Соседние файлы в папке 4 практика
  • #
    31.05.20251.21 Кб0Makefile.win
  • #
    31.05.20251.97 Кб0P4_Default.cpp
  • #
    31.05.20251.29 Кб0P4_Default.o
  • #
    31.05.2025914 б0P4_FIO.dev
  • #
    31.05.202594 б0P4_FIO.layout
  • #
    31.05.20252.05 Кб0pr_2_4.cpp