Консультация № 194883
05.03.2019, 01:49
0.00 руб.
0 4 1
Здравствуйте, уважаемые эксперты! Прошу вас помочь с программой. В строке, среди знаков которой могут встречаться круглые скобки, проверить равенство числа открывающих скобок числу закрывающих. С использованием структур, функций и файлов ввода, вывода. С проверкой на корректную работу файлов и правильно введенной информацией. Заранее спасибо!



Приложение:
struct {
char SL[max];
unsigned Len;
};

Обсуждение

давно
Старший Модератор
31795
6196
05.03.2019, 02:22
общий
Адресаты:
Структура нормальная.
Прочитали открывающую скобку "(", "[", "{" - заносите в массив SL и увеличиваете len.
Встретили ")", "]", "}". Если открывающая скобка, последняя в массиве равна закрывающей
аналогичной скобке, уменьшаете len.

Если не совпали - ошибка, если все ввели и len больше нуля - ошибка, если len, вдруг стала отрицательной - ошибка
Показывайте Ваши попытки.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
05.03.2019, 02:24
общий
05.03.2019, 02:25
Адресаты:
как-то так
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
17042
808
09.03.2019, 08:18
общий
Адресаты:
Оформите ответ?
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Старший Модератор
31795
6196
10.03.2019, 22:10
общий
это ответ
Здравствуйте, alinechipollino!

Смотрите код. Вы указали структуру, но не правильно, в коде эта структура, есть, но не используется, т.к. она не нужна.
Код:
#include <stdio.h>
#include <iostream.h>
#include <string.h>
struct Ta{
char SL [ 200 ];
unsigned len;
};
int main()
{
Ta a;
char b[ 200 ];
int i,j,l;
cout << "Enter string:";
cin >> b;
l=strlen(b);
j=0;
for(i=0;i<l;i++)
{
if(b[i]=='(')
{
j++;
};
if(b[i]==')')
{
j--;
};
if(j<0)
{
break;
};
};
if(j==0)
{
cout <<"OK!"<<endl;
}
else
{
cout <<"Error"<<endl;
};
return 0;
};


Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа