#4 20.01.09 15:23
Re: Помогите (с++)
1. Программа читает из файла текст.
2. Затем задаем слово для поиска в данном тексте.
3. После нахождения слова выдается время, которое было затрачено на поиск.
Вот решение с использованием библиотечной функции strtok.
Файл считывается в строковый буфер и разделяется на слова, которые сравниваются с эталоном. После окончания поиска выводится затраченное время.
http://subscribe.ru/archive/comp.soft.p … 82426.html
Код: cpp:
#include <time.h> #include <string.h> #include <iostream> #include <fstream> using namespace std; int main() { ifstream i_file("input.txt"); if (i_file.fail()) return -1; //--- размер файла i_file.seekg(0,ios::end); long size = i_file.tellg(); i_file.seekg(0,ios::beg); char *strbuf = new char[size+1]; strbuf[size] = i_file.read(strbuf,size); //--- запрашиваем слово char word[32] = ""; cout << "Search: "; cin >> word; long beg = clock(); //--- в цикле выводим все найденные слова for (char *found = strtok(strbuf," (){}<>;,.:-=+-*/\"); found; found = strtok(0," (){}<>;,.:-=+-*/\")) { if (!strcmp(found,word) ) cout << "Position: " << int(found-strbuf) << endl; } long end = clock(); cout << endl << "Search time: " << end - beg << " ms" << endl; delete [] strbuf; i_file.close(); return 0; }
Исправлено drug_detei (20.01.09 15:25)
Offline
#7 02.02.09 08:19
Re: Помогите (с++)
Hix, новость вот здесь прочитал про то, что назначили зам. директора крупной инжиниринговой компании. У него 4 (!!!)года образования, без красного диплома (а то бы написали). И зачем учиться? :)
зы простите за оффтоп
Исправлено drug_detei (02.02.09 08:51)
Offline

