Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 17.10.2018
Сообщений: 13
1

Выяснить баланс скобок в строке

28.11.2018, 16:19. Показов 3250. Ответов 3

Author24 — интернет-сервис помощи студентам
Задание:
Прочитать с клавиатуры строку символов. Отдельно посчитать в ней элементы указанные в кавычках: " (" и ") ".
Если их количество не совпадает добавить эти символы в конце строки необходимое количество раз.

Я не пойму как вывести необходимое количество скобок

Мой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static bool CheckString(string input)
        {
            int parenSum = 0;
 
            foreach (char c in input)
            { 
                if (c == '(') parenSum++;
                if (c == ')') parenSum--;
 
                if (parenSum < 0) return false;
            }
            return (parenSum == 0);
        }
        static void Main(string[] args)
        {
            string text = Console.ReadLine();
            if (CheckString(text) == true)
            {
                Console.WriteLine("Количество одинаково");
            }
            else
            {
                // добавляем необходимое количество скобок
            }
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2018, 16:19
Ответы с готовыми решениями:

Проверить правильность расстановки в строке скобок (баланс открывающих и закрывающих скобок)
помогите с решением задачи. Запросить у пользователя ввод значений согласно варианту. Выполнить...

Проверить баланс скобок в строке
Дана строка, содержащая латинские буквы и круглые скобки. Если скобки расставлены правильно (то...

Дана строка. Посчитать баланс скобок ([{ . Баланс открытых к закрытым
Прошу помощи. String S1 = textBox1.Text.ToLower(); for (int i = 0; i &lt; S1.Length; i++) { ...

Баланс скобок. Рекурсия
Попытался сдать программу,но сказали переделать,чтоб было сделано рекрусивно. Но увы не знаю как ...

3
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
28.11.2018, 21:33 2
Artur Trainee, А если, например, будет такая строка, тогда как быть?
jdk)(skfn

Добавлено через 1 минуту
Или просто необходимо уравнять их количество?
0
Модератор
Эксперт .NET
15468 / 10713 / 2787
Регистрация: 21.04.2018
Сообщений: 31,542
Записей в блоге: 2
28.11.2018, 22:09 3
Лучший ответ Сообщение было отмечено Artur Trainee как решение

Решение

Цитата Сообщение от Artur Trainee Посмотреть сообщение
Я не пойму как вывести необходимое количество скобок
Строка 19 лишняя - закоменьте её
C#
19
               //  if (parenSum < 0) return false;
Поменяйте объявление CheckString
C#
10
        public static int CheckString(string input)
и выход из метода
C#
21
            return parenSum;
с 25 строки
C#
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
            string text = Console.ReadLine();
            int count = CheckString(text)
            if (count  == 0)
                Console.WriteLine("Количество одинаково");
            else if (count  > 0)
            {
                 Console.WriteLine($"Скобок "(" на {count } больше");
                 Console.WriteLine($"Выражение должно быть таким: { (new string('(', count))+text }");
            }
            else
            {
                 Console.WriteLine($"Скобок ")" на {-count } больше");
                 Console.WriteLine($"Выражение должно быть таким: {text + (new string(')', -count))}");
             }
            Console.ReadKey();
0
0 / 0 / 1
Регистрация: 17.10.2018
Сообщений: 13
29.11.2018, 18:40  [ТС] 4
Уравнять
0
29.11.2018, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2018, 18:40
Помогаю со студенческими работами здесь

Ошибки в коде. Баланс скобок
У меня с синтаксисом беда( Помогите исправить пожалуйста static void Main(string args) ...

Баланс скобок в математическом выражении
В математическом выражении встречаются скобки трех типов: круглые, квадратные и фигурные Дана...

Баланс открывающих и закрывающих круглых скобок
помогите написать программу в си шарп(я не разбираюсь там): Проверить, имеется ли в заданном тексте...

Баланс скобок в тексте. Подделайте код немножко
Нужна помощь. Есть код с функциональностью задачи, он выводит 0 в случае, если скобки расставлены...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru