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