Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Подскажите пожалуйста как ускорить работу программы! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при подключении библиотеки http://www.cyberforum.ru/cpp-beginners/thread907162.html
Подключила библиотеку audiere, попробовала запустить следующий код: #include <audiere.h> #include <iostream> int main() { cout « "bla-bla-bla"; return 0; }
C++ Класс «Дек» (двусторонняя очередь) Помогите, задание : Класс «Дек» (двусторонняя очередь). Методы: добавление и удаление элементов. Примечание: реализовать на базе связного списка. Реализовали без связного... вот не понятно как... http://www.cyberforum.ru/cpp-beginners/thread907147.html
C++ в проге нужно выполнить вывод о самой молодой, рослой и легкой команде
#include "stdafx.h" #include "stdio.h" #include "string.h" #include "conio.h" #include "stdlib.h" #include "locale.h" struct inf { char fio_igroka;
C++ поиск первого слова в предложении
Приветствую всех. Суть вопроса такова: нужно написать максимально простую программу, которая предлагает пользователю ввести предложение, а затем выводит на экран все слова, которые состоят из тех же...
C++ Оператор for, без if (Напишите программу, суммирующую числа в указанном пользователем диапазоне, но без оператора if, который устанавливает границы) http://www.cyberforum.ru/cpp-beginners/thread907119.html
Напишите программу, суммирующую числа в указанном пользователем диапазоне, но без оператора if, который устанавливает верхнюю и нижнюю границы. Что произойдет, если числа 7 и 3 ввести именно в таком...
C++ Какой результат работы этой программы? int main(){ //(1) int var = 5; if(fork())wait(&var); var++; printf("%d\n",var); return var; } подробнее

Показать сообщение отдельно
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162

Подскажите пожалуйста как ускорить работу программы! - C++

19.06.2013, 22:24. Просмотров 1244. Ответов 14
Метки (Все метки)

Есть задача :"Во входном файле (вы можете читать данные из файла input.txt) записан текст. Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.

Определите, сколько различных слов содержится в этом тексте."
Моя программа не укладывается чуть-чуть по времени отведенное на ее выполнение, т.е. работает дольше 1 сек. Подскажите как ее можно ускорить.
P.S. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
 int main()
 { 
    freopen("input.txt","r",stdin);
    int n=1,i,j,sum=0;
    vector <string> v1;
    char c,str[100];
    while(scanf("%s",str)!=EOF)//ввожу файлы пока не конец фала
    {
        v1.push_back(str);
    }
    for(i=0;i<v1.size();i++)
    {
        if(v1[i].length()!=0)//если длина фала больше нуль, значит найдено новое слово
        {
            
            sum++;
            for(j=v1.size()-1;j>=n;j--)// при нажодении такого же слова, стираю его
            {
                if(v1[j]==v1[i])
                {
                    v1[j].clear();
                }
                
            }
        }
        n++;
    }
    cout<<sum;
    return 0;
}
P.S. Заранее спасибо добрым людям за помощь.
P.S.S. Может нужно вместо функции scanf() использовать другую функцию, которая быстре считывает данные из файла??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru