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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2013, 15:52   #1
MuruMec
 
Регистрация: 13.09.2013
Сообщений: 7
По умолчанию Строка из цифр и её подстроки(Pascal)

Ребят, последняя надежда на вас, мозгов не хватает Задача не из легких

Вводится строка состоящая только из цифр. Определить количество подстрок, сумма цифр которой равна 10.

Буду очень признателен
MuruMec вне форума Ответить с цитированием
Старый 04.12.2013, 16:16   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

// блин, паскаль ж нужен... ну да алгоритм от языка все равно не поменяется

Код:
string sIn = "678309812943052143254363213234321232454323";
vector<int> vctr;
int subCount = 0;
for (int pos = 0; pos < sIn.size() ; pos++)
{
	int subSum = 0;		
	for (int sub = pos; sub < sIn.size() ; sub++)
	{		
		subSum += sIn[sub] - '0';
		if (subSum > 10)
			break;			
		if (subSum == 10){
			vctr.push_back(pos);
			++subCount;			
			break;		
		}
	}
}
vector<int> vctr - присобачен только для интереса на посмотреть, а где ж именна чота нашлося?
Smogg вне форума Ответить с цитированием
Старый 04.12.2013, 16:18   #3
MuruMec
 
Регистрация: 13.09.2013
Сообщений: 7
По умолчанию

Мне б на паскале... Желательно ABC)))
MuruMec вне форума Ответить с цитированием
Старый 04.12.2013, 16:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а поясните, плиз,
в строке 55555 сколько подстрок, цифры которых дают в сумме 10 (ответ просьба обосновать/проиллюстрировать)?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2013, 16:37   #5
MuruMec
 
Регистрация: 13.09.2013
Сообщений: 7
По умолчанию

В данной строке любая подстрока из 2-х символов (пара) дает в сумме 10. Нужно подсчитать количество этих пар, к сожалению сколько их я не могу сказать)))) Например в строке 00901, убрав любой из нулей получится новая подстрока с суммой 10, убирая любых два нуля, будут получаться новые подстроки с суммой 10, надо подсчитать их количество. То есть из всех возможных подстрок нужно посчитать количество тех, которые дают в сумме 10)
MuruMec вне форума Ответить с цитированием
Старый 04.12.2013, 16:47   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

как я понимаю, насчёт убирания нулей - это Вы самостоятельно придумали, да?

Где Вы видите в исходном задании про то, что из строки нужно(можно) что-то удалять??!!

Я задал очень простой вопрос. Сколько пар дают 10 в строке: 55555
Вы не можете ответить на этот вопрос? Тогда как Вы собираетесь проверять работу программы?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2013, 16:53   #7
MuruMec
 
Регистрация: 13.09.2013
Сообщений: 7
По умолчанию

в строке: 55555 10 пар дают в сумме 10, то есть количество подстрок с суммой 10 равно 10-ти))

насчет убирания нулей это я сам придумал) и да, удалять ничего не надо. Надеюсь все понятно объяснил)
MuruMec вне форума Ответить с цитированием
Старый 04.12.2013, 18:58   #8
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от MuruMec Посмотреть сообщение
в строке: 55555 10 пар дают в сумме 10, то есть количество подстрок с суммой 10 равно 10-ти))
Сперва определитесь с понятиями "строки" и "подстроки" (в контексте программирования)
Smogg вне форума Ответить с цитированием
Старый 04.12.2013, 19:06   #9
MuruMec
 
Регистрация: 13.09.2013
Сообщений: 7
По умолчанию

Извините, ребят! Мне наверно должно быть стыдно) Теперь я понял, что подстрока - это связная часть строки. Задача стала намного легче, думаю, что справлюсь сам без проблем. Спасибо огромное=)
MuruMec вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача делфи! Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами.Вывести четные числа строки ethic Помощь студентам 0 17.04.2013 22:08
Дана строки S и S1. Каждое вхождение S1 в строку S в качестве подстроки заменить на обращенную подстроку S1 ( на Pascal ) avizer Помощь студентам 11 20.03.2012 14:47
Строки в Delphi: строка символов, состоящая из десятичных цифр, разделенных пробелами. Вывести числа в возрастающем порядке Dashylia Помощь студентам 2 18.03.2012 14:03
Имеется строка из букв и цифр.Преобразовать так,чтобы сначала в ней шли все буквы,затем цифры Natalia91169 Помощь студентам 3 13.03.2012 09:00
PCHAR строка с разделителями #13#10. Как вычленить отдельные "подстроки" EdNovice Общие вопросы Delphi 1 17.04.2007 11:42