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

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


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

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

Выпуск № 643
от 20.01.2007, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 450, Экспертов: 60
В номере:Вопросов: 3, Ответов: 5


Вопрос № 70966: Доброе время суток. Уважаемые експерты, помогите пожалуста решить эту задачу: Есть несколько текстовых файлов, лежащих в одной папке и содержаших определённый текст (символы могут быть любые). Необходимо: написать на C++ Builde...
Вопрос № 70984: Проверьте, пожалуйста, правильно ли написана программа: Определить размер массива в начале выполнения программы как случайное число в диапазоне 50 - 200. Выделить под него динамически память и заполнить его случайными значениями из диапазона...
Вопрос № 71010: Хай. Нужна книга по созданию программ высшей математики на С++. Если знаете подскажите где такая есть. Буду очень благодарен....

Вопрос № 70.966
Доброе время суток. Уважаемые експерты, помогите пожалуста решить эту задачу:

Есть несколько текстовых файлов, лежащих в одной папке и содержаших определённый текст (символы могут быть любые).

Необходимо:
написать на C++ Builder программу поиска в данных фаилах информации по заданным символам (например комбинация из 3-х определённых символов).
Т.е. программа должна открывать все файлы в папке по очереди, просматривать их и выводить результат в виде:
1) Название файла, где встретилась искомая комбинация символов,
2) Слово (или слова), где встречается заданная комбинация,
3) Номер строки файла, в которой обнаружено совпадение.

Благодарю заранее всем ответившим.
Отправлен: 15.01.2007, 02:03
Вопрос задал: Костенко Игорь Викторович (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Tek
Здравствуйте, Костенко Игорь Викторович!
Ну и в чем конкретно проблема?
Используйте либо борландовкие компоненты либо WinApi'шные функции доступа к файлам.
Вы собственно сам алгоритм в задании и изложили:
последовательно открываете файлы;
построчно читаете файл;
При нахождении совпадения в строке - запоминаете в массив struct например - имя(идентификатор) файла, слово, номер строки.
Единсвенная проблема на мой взгляд может возникнуть с определением слова, в котором найдено совпадение, решаем это например так:
когда нашли совпадение отдельно ищем пробелы последний перед совпадением и первый после (если конечно слова отделяются только пробелами). Между найденными пробелами и будет заключено искомое слово.

Ответ на вопрос часто заключается в самом вопросе. (С)- не помню чей, но кто-то ооочень умный.
---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: 7-ой класс)
Ответ отправлен: 15.01.2007, 10:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ. Но вопервых, как узнать имена всех файлов в каталоге, если их тысячи. Во вторых, как считать слово в обратном порядке, справо на лево(посимвольно).


Вопрос № 70.984
Проверьте, пожалуйста, правильно ли написана программа:

Определить размер массива в начале выполнения программы как случайное число в диапазоне 50 - 200. Выделить под него динамически память и заполнить его случайными значениями из диапазона -60 - 60. Заменить все вхождения минимальных значений на максимальное значение в массиве.

Приложение:

Отправлен: 15.01.2007, 08:10
Вопрос задал: Snowball (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Терсков Сергей
Здравствуйте, Snowball!
В принципе, все написано правильно, но есть пара недочетов.

1. Раз память выделяется оператором new[], то и высвобождать ее нужно соответствующим оператором delete[], а не просто delete.

2. Функция int main() должна возвращать значение типа int. Поэтому в конце программы желательно написать что-нибудь вроде return 0;
Ответ отправил: Терсков Сергей (статус: 4-ый класс)
Ответ отправлен: 15.01.2007, 08:26

Отвечает: Lemeshev Konstantin
Здравствуйте, Snowball!
В дополнение к тому что написал Терсков Сергей.
На мой взглад второй цикл (где ищуться минимальный и максимальный элементы) лучше переписать так (обрати внимание на то что начальное значение переменной i - еденица):

for(i=1;i<n;i++)
{ if (max<a[i])
max=a[i];
else
if(min>a[i])
min=a[i];
}
Ответ отправил: Lemeshev Konstantin (статус: 2-ой класс)
Ответ отправлен: 15.01.2007, 09:34

Отвечает: kool
Здравствуйте, Snowball!
Для проверки своего кода нужно его откомпилировать!
В основном правильно.
Держи (см. приложение)! Удачи

Приложение:

Ответ отправил: kool (статус: 4-ый класс)
Ответ отправлен: 15.01.2007, 21:03


Вопрос № 71.010
Хай. Нужна книга по созданию программ высшей математики на С++. Если знаете подскажите где такая есть. Буду очень благодарен.
Отправлен: 15.01.2007, 11:13
Вопрос задал: Bizhuk (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Bizhuk!
Не очень понятно какие программы вы все таки имели ввиду, но от себя посоветую ресурс

http://algolist.manual.ru

На этом сайте есть раздел "Математика", и в нем можно найти массу материалов по программированнию математических задач, например по линейной алгебре и математической статистике.
Ответ отправил: Терсков Сергей (статус: 4-ый класс)
Ответ отправлен: 16.01.2007, 03:12


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.41 beta от 19.01.2007
Яндекс Rambler's Top100

В избранное