Дана строка символов, вывести последовательности символов, заключенные в скобки

(Помогите,пожалуйста) Дана строка символов. Признак конца-символ ‘\n'(перевод строки). Необходимо вывести последовательности символов,заключенные в скобки. Каждую такую последовательность выводить с новой строки.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка
Доброго времени суток! Нужно решить такую задачу (желательно с блок-схемой): Дана строка символов.
Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a»
Задание-> Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a».

Удалить последовательности символов, заключённые в фигурные скобки
Необходимо обработать текстовый файл. В первой строке файла указано общее число строк. Выделить.
Дана строка. Определить, сколько в ней заданных символов
Дана строка. Определить, сколько в ней символов *, ;, : Добавлено через 37 минут #include.
109 / 108 / 74
Регистрация: 18.11.2013
Сообщений: 304

Сообщение было отмечено forbigan как решение
Решение
forbigan, примерно в таком духе
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
#include int main() { char str[256]; int i; int flag = 0; printf("Input string : "); fgets(str, 255, stdin); for(i = 0; str[i]!='\n'; i++) { if(str[i] == '"' && !flag) flag = 1; else if(str[i] == '"' && flag) { flag = 0; printf("\n"); } else if(flag) printf("%c", str[i]); } return 0; }
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Дана строка символов. Удалить из нее все гласные буквы.
Доброго времени суток! Дана строка символов. Удалить из нее все гласные буквы.
Дана строка символов до точки. Определить, является ли она палиндромом
Дана строка символов до точки. Определить, является ли она палиндромом. (Палиндром слева направо и.

Дана строка символов, состоящая из прописных и строчных латинских букв и пробелов
Группы символов,разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри cебя.
Или воспользуйтесь поиском по форуму:
Как прочесть символ конца строки ‘\n’ в файле?
Решил прочесть из текстового файла матрицу и определить количество строк и столбцов. Исхожу из соображений, что данные, записанные в текстовый файл, представляют собой некий одномерный массив, разделенный символами конца строк ‘\n’. Построчный анализ в окне Debug показывает, что реализованный код читает все символы, а символ конца строки пропускает, перескакивая на следующую строку. Никак не могу понять где ошибка. Помогите!
#include #include using namespace::std; int main()< int i = 0; // индекс элементов строки ФАЙЛА int row_size = 0; // количество строк матрицы int column_size = 0; // количество столбцов матрицы char* buffer; // указатель на адрес, по которому должны временно размещаться числа, полученные из строки файла ifstream input_data("The_Matrix.txt"); if(!input_data.is_open())< cout else< while(input_data>>buffer) < if(*buffer=='\n')< column_size=i; i = 0; row_size++; >i++; > > cout
Отслеживать
задан 7 янв 2020 в 14:39
299 2 2 серебряных знака 18 18 бронзовых знаков
buffer используется неинициализированным, символ конца строки пропускает — читайте про работу оператора >>
7 янв 2020 в 14:42
После чтения по неинициализированному адресу больше разбирать нечего — UB, возможно всё.
7 янв 2020 в 14:47
В строке char * buffer; объявлена переменная buffer . которая должна содержать указатель на char , но содержит случайное значение.
Строки. Функции и методы строк

Итак, о работе со строками мы немного поговорили, теперь поговорим о функциях и методах строк.
Я постарался собрать здесь все строковые методы и функции, но если я что-то забыл — поправляйте.
Базовые операции
- Конкатенация (сложение)
При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
: Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.
Таблица «Функции и методы строк»
| Функция или метод | Назначение |
|---|---|
| S = ‘str’; S = «str»; S = »’str»’; S = «»»str»»» | Литералы строк |
| S = «s\np\ta\nbbb» | Экранированные последовательности |
| S = r»C:\temp\new» | Неформатированные строки (подавляют экранирование) |
| S = b»byte» | Строка байтов |
| S1 + S2 | Конкатенация (сложение строк) |
| S1 * 3 | Повторение строки |
| S[i] | Обращение по индексу |
| S[i:j:step] | Извлечение среза |
| len(S) | Длина строки |
| S.find(str, [start],[end]) | Поиск подстроки в строке. Возвращает номер первого вхождения или -1 |
| S.rfind(str, [start],[end]) | Поиск подстроки в строке. Возвращает номер последнего вхождения или -1 |
| S.index(str, [start],[end]) | Поиск подстроки в строке. Возвращает номер первого вхождения или вызывает ValueError |
| S.rindex(str, [start],[end]) | Поиск подстроки в строке. Возвращает номер последнего вхождения или вызывает ValueError |
| S.replace(шаблон, замена[, maxcount]) | Замена шаблона на замену. maxcount ограничивает количество замен |
| S.split(символ) | Разбиение строки по разделителю |
| S.isdigit() | Состоит ли строка из цифр |
| S.isalpha() | Состоит ли строка из букв |
| S.isalnum() | Состоит ли строка из цифр или букв |
| S.islower() | Состоит ли строка из символов в нижнем регистре |
| S.isupper() | Состоит ли строка из символов в верхнем регистре |
| S.isspace() | Состоит ли строка из неотображаемых символов (пробел, символ перевода страницы (‘\f’), «новая строка» (‘\n’), «перевод каретки» (‘\r’), «горизонтальная табуляция» (‘\t’) и «вертикальная табуляция» (‘\v’)) |
| S.istitle() | Начинаются ли слова в строке с заглавной буквы |
| S.upper() | Преобразование строки к верхнему регистру |
| S.lower() | Преобразование строки к нижнему регистру |
| S.startswith(str) | Начинается ли строка S с шаблона str |
| S.endswith(str) | Заканчивается ли строка S шаблоном str |
| S.join(список) | Сборка строки из списка с разделителем S |
| ord(символ) | Символ в его код ASCII |
| chr(число) | Код ASCII в символ |
| S.capitalize() | Переводит первый символ строки в верхний регистр, а все остальные в нижний |
| S.center(width, [fill]) | Возвращает отцентрованную строку, по краям которой стоит символ fill (пробел по умолчанию) |
| S.count(str, [start],[end]) | Возвращает количество непересекающихся вхождений подстроки в диапазоне [начало, конец] (0 и длина строки по умолчанию) |
| S.expandtabs([tabsize]) | Возвращает копию строки, в которой все символы табуляции заменяются одним или несколькими пробелами, в зависимости от текущего столбца. Если TabSize не указан, размер табуляции полагается равным 8 пробелам |
| S.lstrip([chars]) | Удаление пробельных символов в начале строки |
| S.rstrip([chars]) | Удаление пробельных символов в конце строки |
| S.strip([chars]) | Удаление пробельных символов в начале и в конце строки |
| S.partition(шаблон) | Возвращает кортеж, содержащий часть перед первым шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий саму строку, а затем две пустых строки |
| S.rpartition(sep) | Возвращает кортеж, содержащий часть перед последним шаблоном, сам шаблон, и часть после шаблона. Если шаблон не найден, возвращается кортеж, содержащий две пустых строки, а затем саму строку |
| S.swapcase() | Переводит символы нижнего регистра в верхний, а верхнего – в нижний |
| S.title() | Первую букву каждого слова переводит в верхний регистр, а все остальные в нижний |
| S.zfill(width) | Делает длину строки не меньшей width, по необходимости заполняя первые символы нулями |
| S.ljust(width, fillchar=» «) | Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar |
| S.rjust(width, fillchar=» «) | Делает длину строки не меньшей width, по необходимости заполняя первые символы символом fillchar |
| S.format(*args, **kwargs) | Форматирование строки |
Для вставки кода на Python в комментарий заключайте его в теги
String. Substring Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Извлекает подстроку из данного экземпляра.
Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.
Перегрузки
Извлекает подстроку из данного экземпляра. Подстрока начинается в указанном положении символов и продолжается до конца строки.
Извлекает подстроку из данного экземпляра. Подстрока начинается с указанной позиции знака и имеет указанную длину.
Substring(Int32)
Извлекает подстроку из данного экземпляра. Подстрока начинается в указанном положении символов и продолжается до конца строки.
public: System::String ^ Substring(int startIndex);
public string Substring (int startIndex);
member this.Substring : int -> string
Public Function Substring (startIndex As Integer) As String
Параметры
startIndex Int32
Отсчитываемая от нуля позиция первого знака подстроки в данном экземпляре.
Возвращаемое значение
Строка, эквивалентная подстроке, которая начинается с startIndex в данном экземпляре, или Empty, если значение startIndex равно длине данного экземпляра.
Исключения
startIndex имеет значение меньше нуля или больше длины этого экземпляра.
Примеры
В следующем примере показано получение подстроки из строки.
using namespace System; using namespace System::Collections; int main() < array^info = < "Name: Felica Walker", "Title: Mz.", "Age: 47", "Location: Paris", "Gender: F">; int found = 0; Console::WriteLine("The initial values in the array are:"); for each (String^ s in info) Console::WriteLine(s); Console::WriteLine("\nWe want to retrieve only the key information. That is:"); for each (String^ s in info) < found = s->IndexOf(": "); Console::WriteLine(" ", s->Substring(found + 2)); > > // The example displays the following output: // The initial values in the array are: // Name: Felica Walker // Title: Mz. // Age: 47 // Location: Paris // Gender: F // // We want to retrieve only the key information. That is: // Felica Walker // Mz. // 47 // Paris // F
string [] info = < "Name: Felica Walker", "Title: Mz.", "Age: 47", "Location: Paris", "Gender: F">; int found = 0; Console.WriteLine("The initial values in the array are:"); foreach (string s in info) Console.WriteLine(s); Console.WriteLine("\nWe want to retrieve only the key information. That is:"); foreach (string s in info) < found = s.IndexOf(": "); Console.WriteLine(" ", s.Substring(found + 2)); > // The example displays the following output: // The initial values in the array are: // Name: Felica Walker // Title: Mz. // Age: 47 // Location: Paris // Gender: F // // We want to retrieve only the key information. That is: // Felica Walker // Mz. // 47 // Paris // F
let info = [| "Name: Felica Walker"; "Title: Mz." "Age: 47"; "Location: Paris"; "Gender: F" |] printfn "The initial values in the array are:" for s in info do printfn $"" printfn "\nWe want to retrieve only the key information. That is:" for s in info do let found = s.IndexOf ": " printfn $" " // The example displays the following output: // The initial values in the array are: // Name: Felica Walker // Title: Mz. // Age: 47 // Location: Paris // Gender: F // // We want to retrieve only the key information. That is: // Felica Walker // Mz. // 47 // Paris // F
Public Class SubStringTest Public Shared Sub Main() Dim info As String() = < "Name: Felica Walker", "Title: Mz.", "Age: 47", "Location: Paris", "Gender: F">Dim found As Integer = 0 Console.WriteLine("The initial values in the array are:") For Each s As String In info Console.WriteLine(s) Next s Console.WriteLine(vbCrLf + "We want to retrieve only the key information. That is:") For Each s As String In info found = s.IndexOf(": ") Console.WriteLine(" ", s.Substring(found + 2)) Next s End Sub End Class ' The example displays the following output: ' The initial values in the array are: ' Name: Felica Walker ' Title: Mz. ' Age: 47 ' Location: Paris ' Gender: F ' ' We want to retrieve only the key information. That is: ' Felica Walker ' Mz. ' 47 ' Paris ' F
В следующем примере метод используется Substring для разделения пар "ключ-значение", разделенных символом равенства ( = ).
String[] pairs = < "Color1=red", "Color2=green", "Color3=blue", "Title=Code Repository" >; foreach (var pair in pairs) < int position = pair.IndexOf("="); if (position < 0) continue; Console.WriteLine("Key: , Value: ''", pair.Substring(0, position), pair.Substring(position + 1)); > // The example displays the following output: // Key: Color1, Value: 'red' // Key: Color2, Value: 'green' // Key: Color3, Value: 'blue' // Key: Title, Value: 'Code Repository'
let pairs = [| "Color1=red"; "Color2=green"; "Color3=blue" "Title=Code Repository" |] for pair in pairs do let position = pair.IndexOf "=" if position >= 0 then printfn $"Key: , Value: ''" // The example displays the following output: // Key: Color1, Value: 'red' // Key: Color2, Value: 'green' // Key: Color3, Value: 'blue' // Key: Title, Value: 'Code Repository'
Module Example Public Sub Main() Dim pairs() As String = < "Color1=red", "Color2=green", "Color3=blue", "Title=Code Repository" >For Each pair In pairs Dim position As Integer = pair.IndexOf("=") If position < 0 then Continue For Console.WriteLine("Key: , Value: ''", pair.Substring(0, position), pair.Substring(position + 1)) Next End Sub End Module ' The example displays the following output: ' Key: Color1, Value: 'red' ' Key: Color2, Value: 'green' ' Key: Color3, Value: 'blue' ' Key: Title, Value: 'Code Repository'
Метод IndexOf используется для получения позиции символа равенства в строке. Вызов Substring(Int32, Int32) метода извлекает имя ключа, которое начинается с первого символа в строке и расширяет число символов, возвращаемых вызовом IndexOf метода . Затем вызов Substring(Int32) метода извлекает значение, назначенное ключу. Он начинается с одной позиции символа за пределами символа равного и простирается до конца строки.
Комментарии
Метод вызывается Substring(Int32) для извлечения подстроки из строки, которая начинается с указанной позиции символа и заканчивается в конце строки. Начальная позиция символа отсчитывается от нуля; другими словами, первый символ в строке находится в индексе 0, а не в индексе 1. Чтобы извлечь подстроку, которая начинается с указанной позиции символа и заканчивается до конца строки, вызовите Substring(Int32, Int32) метод .
Этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, которая начинается с startIndex позиции в текущей строке.
Чтобы извлечь подстроку, которая начинается с определенного символа или последовательности символов, вызовите метод, например IndexOf или IndexOf , чтобы получить значение startIndex . Второй пример иллюстрирует это; Извлекает ключевое значение, которое начинается на одну позицию символа после символа = .
Если startIndex равно нулю, метод возвращает исходную строку без изменений.
См. также раздел
- Int32
- Concat(Object)
- Insert(Int32, String)
- Join(String, String[])
- Remove(Int32, Int32)
- Replace(Char, Char)
- Split(Char[])
- Trim(Char[])