Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2011, 09:15   #1
rushanka
 
Регистрация: 10.09.2011
Сообщений: 3
По умолчанию генерация случайных предложений

привет всем прошу помочь ( очень очень) разобраться в одной програмке на Visual studio C++

в архиве rsg.zip содержиться проект который содержит большую часть кода :

Код:
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <cstdlib>
#include <ctime>

#include "definition.h"
#include "production.h"

using namespace std;

/** Парсер контекстно-свободной грамматики.
 *
 * Принимает ссылку на открытый входной файловый поток и сохраняет в контейнере
 * grammar набор определений, присутствующих во входном файле. Функция написана
 * в предположении, что входной файл действительно содержит корректное описание
 * контекстно-свободной грамматики.
 */
void readGrammar(ifstream &infile, map<string, Definition> &grammar) {
    while (true) {
	string uselessText, nonterminal, word;
	getline(infile, uselessText, '{');
	if (infile.eof()) return;

	infile.putback('{');
	Definition def(infile);

	grammar[def.getNonterminal()] = def;
    }
}

//---------------------------------------------------------------------------
int main(int argc, char *argv[]) {
    // Проверяем, что нам передали по-крайней мере один параметр.
    if (argc < 2) {
	cerr << "Необходимо указать файл, содержащий грамматику." << endl
	     << "Использование: " << argv[0] << " <имя файла>" << endl;
	return 1;
    }

    // Пытаемся открыть указанный файл.
    ifstream infile(argv[1]);
    if (!infile) {
	cerr << "Не удалось открыть файл \"" << argv[1] << "\"" << endl;
	return 1;
    }

    // Считываем грамматику из файла.
    map<string, Definition> grammar;
    readGrammar(infile, grammar);

    cout << "Грамматика в файле \"" << argv[1] << "\" содержит "
	 << grammar.size() << " определений." << endl << endl;

    // Инициализация генератора случайных чисел.
    srand(time(0));
	getch();
    return 0;
}


в файле rsg-grammar.zip содержиться четыре примера контекстно-свободной грамматики. Надо распаковать rsg.sln проект и скомпилировать. при вызове этого файла из командой строки с указанием одной из грамматик вы должны увидеть число определений в заданном файле.
вопрос: подскажите или намекните хотя бы где именно надо скомпилимровать...или как я понимаю вставить функцию для вызова этих четырех контекстов...


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.09.2011 в 12:36.
rushanka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация случайных чисел Kati Помощь студентам 2 19.10.2010 21:28
Генерация случайных чисел?! Evgeny_1 Фриланс 12 17.03.2010 14:23
Генерация случайных чисел от -1 до 1 Shketer Общие вопросы Delphi 4 19.12.2009 23:43
Генерация случайных... Яр|/||< (^_^) Общие вопросы Delphi 2 22.06.2009 21:33
Генерация Случайных Чисел Кирилл13 Помощь студентам 6 06.01.2009 10:31