#1 23.05.06 17:17
напомните
Люди ) напомните, что такое тривиальный случай? ))
можно конкретно для:
(проверка баланса скобок)
int skobki(char t)
{
char c=getchar();
while (c!='.')
{
switch (c)
{
case ')': if (t==c)return 1; else return 0;
case '}': if (t==c)return 1; else return 0;
case ']': if (t==c)return 1; else return 0;
}
switch (c)
{
case '(': if (skobki(')')) break; else return 0;
case '{': if (skobki('}')) break; else return 0;
case '[': if (skobki(']')) break; else return 0;
}
c=getchar();
}
if (t!='_') return 0;
else return 1;
}
void main()
{
clrscr ();
puts ("Vvedi stroku: ");
if (skobki ('_')) puts ("Yes!");
else puts ("No!");
getch();
}
Offline
#2 23.05.06 17:32
Re: напомните
Тривиальный - слово в русском языке. Простой, элементарный, очевидный значит )) А дальше додумай, как это понимать в твоем контексте ))
И кстати не стоит использовать транслит в названиях идентификаторов )) Потом привыкнешь. Используй нормальные, информативные названия на английском, желательно с соблюдением общепринятых конвенций (их правда много разных), но хотя бы в одном стиле. на будующее пригодиться.
Я у своих студентов даже прекратил принимать задачи пока они код нормально не оформят в том числе и названия. Ато читать невозможно как там все поизковеркают )
Исправлено MadSlayer (23.05.06 17:34)
Offline
#3 23.05.06 17:38
Re: напомните
MadSlayer,
в смысле, у своих студентов?
так, может, ты все-таки подскажешь с задачей? ))
Offline
#4 23.05.06 17:48
Re: напомните
Sirina-Black написал(а):
в смысле, у своих студентов?
Какой тут может быть смысл? У студентов у которых я преподавал.
Sirina-Black написал(а):
так, может, ты все-таки подскажешь с задачей? ))
Задачу то поконкретней опиши )) Ато в твоем сообщении задачи не видно. Видно вопрос значения слова ))
Offline
#5 23.05.06 17:58
Re: напомните
MadSlayer,
программа проверяет баланс скобок, а если точнее:
Задана строка. Проверить, удовлетворяет ли ее структура следующ. опред.:
<текст>=<элемент>|<элемент><текст>
<элемент>=a|b|..|z|(< текст>)|[<текст>]|{<текст>}
Offline
#8 23.05.06 18:16
Re: напомните
в чем тривиальный случай хочу узнать )) конкретно в этой проге ))
Offline
#10 23.05.06 18:24
#11 23.05.06 18:28
Re: напомните
блин......лабы сделаны...ну что еще этой преподавательнице надо?...............я ща взвою......
Offline
#12 23.05.06 18:43
#13 24.05.06 01:45
#14 26.05.06 11:15
#15 26.05.06 20:33
#16 26.05.06 23:32
#17 27.05.06 22:46
#18 01.06.06 13:47
Re: напомните
да....нам бы сейчас лабы сдать, чтоб к зачету допустили...
а тривиальный случай - случай, когда не требуется применение рекурсии....мда...
Offline
#19 01.06.06 15:31
Re: напомните
Еще раз напишу свой вариант решения (была уже похожая тема):
Код: с:
int isStrBalanced(char * str){
for(char *c = str; *c != 0; c++){
if(*c == '(' || *c == '{' || *c == '[') stack.push(*c);
else if(*c == ')' && stack.pop() != '(') return 0;
else if(*c == '}' && stack.pop() != '{') return 0;
else if(*c == ']' && stack.pop() != '[') return 0;
}
if(stack.empty()) return 1;
else return 0;
}А тривиальные случаи - это: пустая строка, (, ), (), )(, - для каждого типа скобок.
Исправлено __Rush__ (01.06.06 15:35)
Offline

