Форум программистов, компьютерный форум CyberForum.ru

Определить количество символов фрагмента, заключенного в круглые скобки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выводит в консоль результаты работы программы http://www.cyberforum.ru/cpp-beginners/thread1120785.html
Условие найти товар по стране используя структуры: #include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> using namespace std; ifstream fin;
C++ Найти минимальный элемент из верхней-правотреугольной матрицы #include <iostream> using namespace std; int main() { int i,j,n; int min; cin>>n; http://www.cyberforum.ru/cpp-beginners/thread1120777.html
Создание массивов объектов C++
Привет. :victory: Помогите с таском. В никакую не получается... Заданный массив структур с информацией о номенклатуре продукции предприятия: название изделия, код изделия, цена одного изделия. С клавиатуры вводятся записи информации о коде изделия и их число. Сформировать новый массив структур (название изделия, сумма) для всех кодов изделий, вводимых с клавиатуры. (Сумма = число * цена).
В значении функции вывести ссылку на первый символ с в строке C++
strchr-найти в строке S первое вхождение символа c. определение-char *strchr(const char *s,int c) В значении функции вывести ссылку на первый символ с в строке, или NULL.
C++ Запись строк в обратном порядке. http://www.cyberforum.ru/cpp-beginners/thread1120723.html
Нужно сделать так, что-бы из файла N считывались строки и сохранялись в другой Файл в обратном порядке. Исключая любой символ который задаст пользователь. #include <stdio.h> #include <iostream> #include <string.h> using namespace std; void file_N() { char filename; char str; //ввод FILE *f; //указатель на файл
C++ Перестановка байтов в двоичном файле Здравствуйте! Подскажите пожалуйста, как сделать перестановку байтов в двоичном файле?=( подробнее

Показать сообщение отдельно
KOPOJI
Модератор
 Аватар для KOPOJI
16243 / 6454 / 390
Регистрация: 12.06.2012
Сообщений: 19,362
16.03.2014, 21:55     Определить количество символов фрагмента, заключенного в круглые скобки.
IGPIGP, просто лично мне (и, похоже, не мне одному) не видится смысла выполнять лишние действия. Я за минимализм кода, по возможности (желательно без потери читабельности). Не знаю, может быть, вы не поняли, что имелось в виду, но я говорил про это:
В случае вашего кода, вы:
1. Узнаете позицию в строке символа "("
2. Узнаете позицию в строке символа ")"
3. Извлекаете строку от первой позиции до второй
4. Узнаете длину "обрезанной" строки
А я говорил про то, что достаточно было выполнить эти шаги:
1. Узнать позицию в строке символа ")"
2. Узнать позицию в строке символа "("
3. Вычесть разницу между ними.
Как раз здесь и пригодится то самое, что строка в C - это массив символов char (на примере си это проще).
Если это массив, то, следовательно, можно представить стэк, увидим нечто наподобие такого

012345678910
foo(bar)lol

Ваш способ - это просто лишняя вычислительная сложность, которая, в данном случае, еще и ухудшает читабельность.
1. Нашли позицию символа ")" - 7
2. Нашли позицию символа "(" - 3
3. Вычли из первой позиции вторую, узнали количество ячеек между ними - 4
4. Вычли единицу (нам не нужно включать саму скобку) - 3

И, хотя я и понимаю, что вы это знаете, но, все же, не понимаю, зачем делать столько лишних действий

Добавлено через 1 минуту

Не по теме:

Да, и это лишь мое мнение, если что-то не так, прошу меня простить..

 
Текущее время: 09:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru