Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2020, 17:27   #1
pro100_igor4k
 
Регистрация: 01.10.2020
Сообщений: 5
Восклицание Помогите добавить исключения в с++

Функция проверяет, является ли передаваемая строка палиндромом.

Код:
#include <iostream>
#include <cstring>
 
using namespace std;
 
bool check_polindrom(string word)
{
	int len = word.length();
	for(int i = 0; i < len/2; ++i)
	{
		if(word[i] != word[len-i-1])
		{
			return false;
		}
	}
	return true;
}
 
int main()
{
	string str;
	cout << "Enter the word: ";
	cin >> str;
	if(check_polindrom(str))
	{
		cout << "Word is polindrom.";
	}
	else
	{
		cout << "Word is not polindrom";
	}
	return 0;
}
pro100_igor4k вне форума Ответить с цитированием
Старый 13.12.2020, 19:29   #2
pro100_igor4k
 
Регистрация: 01.10.2020
Сообщений: 5
По умолчанию

Вот что у меня получилось, если что то не так скажите пожалуйста
Код:
#include <iostream>
#include <string>

using namespace std;

bool check_polindrom(string word)
{
	try {
		int len = word.length();
		try {
			if (len == 1)
			{
				throw "Строка в 1 символ является палиндромом.";
			}
		}
		catch (const char*exception)
		{
			cout << exception << endl;
			return false;
		}
		for (int i = 0; i < len / 2; ++i)
		{
			if (word[i] != word[len - i - 1])
			{
				throw "Строка не является палиндромом.";
				return false;
			}
		}
		return true;
	}
	catch (const char*exception)
	{
		cerr << "Error: " << exception << endl;
	}
}

int main()
{
	setlocale(LC_ALL, "ru");

	try
	{
		string str;
		
		cout << "Введите строку для проверки на палиндром: ";
		cin >> str;
	
	if (check_polindrom(str)==true)
		cout << "Строка является палиндромом." << endl;
	}
	catch (...)
	{
		cout << "Поймано исключения" << endl;
	}
	return 0;
}

Последний раз редактировалось pro100_igor4k; 13.12.2020 в 19:44.
pro100_igor4k вне форума Ответить с цитированием
Старый 14.12.2020, 12:20   #3
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Обычно исключения используются для информирвании об исключительных ситуациях, а не передаче текста.. Ну, если так хочется, то исключения желательно наследовать от std::exception. Можете хотя бы бросать https://en.cppreference.com/w/cpp/error/logic_error
FrosyaZZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите добавить в php код функционал ajax Metrologik JavaScript, Ajax 1 14.07.2018 10:33
[Delphi] Игра Пятнашки. Помогите пожалуйста добавить окно "Вы выиграли", когда комбинация будет собрана правильно, и добавить кнопку "Новая игра" Аня20 Паскаль, Turbo Pascal, PascalABC.NET 1 02.06.2017 08:12
Программа работает. Помогите добавить условие Smile189 Общие вопросы Delphi 1 29.10.2016 19:40
Помогите добавить main и деструктор gryzb1 Помощь студентам 2 15.03.2015 14:15
Помогите добавить свой цвет в инспектор объектов!!! Denisich Общие вопросы Delphi 1 28.06.2007 23:03