Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 996
от 15.02.2008, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 476, Экспертов: 49
В номере:Вопросов: 4, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 122325: Здравствуйте добрые эксперты, помогите решить задачу очень нужно, вот в понедельник сдавать и у меня осталась только одна, которую не могу решить. ( На Microsoft Visual C++) Дан массив данных об экспортируемом товаре: наименование товара; ст...
Вопрос № 122363: Задание Задано регулярное выражение r. Входной алфавит ∑. Написать программу, распознающую строки, соответствующие данному регулярному выражению. Использовать теории регулярных выражений и конечных автоматов (КА): 1. Для заданн...
Вопрос № 122421: Здравствуйте.! Помогите ,пожалуйста решить задачу.Вот условие: После последовательного ввода с клавиатуры сначала произвольной строки,а потом искомой подстроки,выдать на экран количество вхождений этой подстроки в строку,а также номера всех позиц...
Вопрос № 122425: Еще один вопрос - в приложении. Заранее благодарен всем!!!...

Вопрос № 122.325
Здравствуйте добрые эксперты, помогите решить задачу очень нужно, вот в понедельник сдавать и у меня осталась только одна, которую не могу решить. ( На Microsoft Visual C++)

Дан массив данных об экспортируемом товаре: наименование товара; страна, импортирующая товар; объём партии в штуках. Распечатать страны, в которые экспортируется товар заданного наименования, и подсчитать общий объём его экспорта.
-==ОЧЕНЬ БУДУ БЛАГОДАРИН ЗА ПОМОШЬ==-
Отправлен: 09.02.2008, 09:26
Вопрос задал: Dem777 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Попов А.С.
Здравствуйте, Dem777!

Создайте следующий класс (Insert - New Class):
#include <string>
using namespace std;
class Goods
{
protected:
string name; // имя товара
string country; // страна
int count; // объем экспорта
public:
Goods()
{
name="any";
country="any";
count=0;
};
virtual ~Goods();

virtual int getcnt(void){return this->count; };
virtual void setcnt(int t){this->count=t;};

virtual string getcnr(void){return this->country; };
virtual void setcnr(string t){this->country=t;};

virtual string getnm(void){return this->name; };
virtual void setnm(string t){this->name=t;};
};

Приложение:

Ответ отправил: Попов А.С. (статус: 8-ой класс)
Ответ отправлен: 09.02.2008, 14:15
Оценка за ответ: 4
Комментарий оценки:
Большое спасибо но у меня не хочет работать вылазит очень огромное кол-во ошибок.


Вопрос № 122.363
Задание
Задано регулярное выражение r. Входной алфавит ∑.
Написать программу, распознающую строки, соответствующие данному регулярному выражению.
Использовать теории регулярных выражений и конечных автоматов (КА):
1. Для заданного регулярного выражения построить соответствующий ему КА;
2. Если автомат, полученный в предыдущем пункте, недетерминированный, то преобразовать его в ДКА;
3. Используя ДКА, написать программу-распознаватель.

r = (b|c)*(a|c)*|ccb ∑= {a, b, c}
Отправлен: 09.02.2008, 14:31
Вопрос задал: Предеин Денис Дмитроевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Lang21
Здравствуйте, Предеин Денис Дмитроевич!

Строка соответствует регулярному выражению
r = (b|c)*(a|c)*|ccb,
если она равна ccb, либо если она соответствует рег. выражению
r1 = (b|c)*(a|c)*,
то есть является повторением ноль или более раз символов b или c,
и следующим за ним повторением ноль или более раз символов a или c. (Например "cbcbcbbbcacca".)
Ясно, что строка "ccb" тоже соответствует r1, поэтому r и r1 эквивалентны.

Программа-распознаватель приведена в приложении.
Строка передается при вызове в качестве аргумента. Программа печатает эту строку,
если она соответствует r, и ничего не печатает, если не соответствует.

Автомат имеет три состояния, которые обозначены A, B, FALSE.
(FALSE означает, что обнаружено несоответствие). Граф переходов легко нарисовать по программе, он очень простой.

Приложение:

Ответ отправил: Lang21 (статус: 5-ый класс)
Ответ отправлен: 12.02.2008, 22:40
Оценка за ответ: 5
Комментарий оценки:
спасибо огромное!!! супер!!!


Вопрос № 122.421
Здравствуйте.! Помогите ,пожалуйста решить задачу.Вот условие:
После последовательного ввода с клавиатуры сначала произвольной строки,а потом искомой подстроки,выдать на экран количество вхождений этой подстроки в строку,а также номера всех позиций этих входжений,если они есть.
Заранее большое спасибо!
Отправлен: 09.02.2008, 22:54
Вопрос задала: Ковалевская Е.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: X-men
Здравствуйте, Ковалевская Е.А.!
Вот вам программа. Запускайте на MS VC++. Для решения этой задачи я использовал обычные массивы char (можно было также воспользоваться типом данных string).

Приложение:

Ответ отправил: X-men (статус: Студент)
Ответ отправлен: 09.02.2008, 23:49
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое!


Вопрос № 122.425
Еще один вопрос - в приложении. Заранее благодарен всем!!!

Приложение:

Отправлен: 09.02.2008, 23:20
Вопрос задал: Allexandr (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, Allexandr!

Проще всего (и элегантнее) в данном случае воспользоваться регулярными выражениями. После этого ваша задача уместится буквально в паре строк кода (см. приложение)
Для этого нужно:
1) материал по регулярным выражениям:
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

2)Библиотека boost для C++: http://www.boost.org
(можно также еще использовать библиотеку pcre: http://www.pcre.org)

Для компиляции и установки библиотеки понадобится этот файлик:
http://downloads.sourceforge.net/boost/boost-jam-3.1.16-1-ntx86.zip?modtime=1196632824&big_mirror=0

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 10.02.2008, 04:44
Оценка за ответ: 5


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное