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

Небольшая проблемка с прогой. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скорость доступа к элементам вектора http://www.cyberforum.ru/cpp-beginners/thread335130.html
Всем привет! Использую вектор и интеерсует вопрос скорости выбора элементов из него. У вектора есть метод vector.at(int index), который вернет мне элемент по заданному индексу. Также к вектору можно добраться через итераторы. ПО идее через итераторы доступ должен быть быстрее, но на практике выходит что доступ через vector.at(int index) быстрее минимум в 3 раза на векторе в 512 элементов....
C++ Проблема с рандомом + помощь в создании алгоритма Такая штука - делаю одну прогу (игра напоминающая бомбермен)... Решил отдельнонаписать прожку в которой юзер начинает матч - боты сами ходят и коцают друг друга ... ПРОБЛЕМА, только и заключаеться в том, что движения их порой вызываю подозрения - наблюдаеться некая синхронность... Подскажите пожалуйста в чем проблема + подкиньте плз идею того, как реализовать движения ботов в соответствии с... http://www.cyberforum.ru/cpp-beginners/thread335111.html
Из цифр в буквы C++
Скажите как перейти из цифрового номера буквы в ANSI обратно в букву. Как букву в цифру превратить я знаю cout<<(int)'A';
Решение суммы ряда C++
Не раз видел задачки типа "Дано вещественное число Х и целое число N (>0).Найти значение выражения 1-х^2/(2!)+x^4/(4!)-...+(-1)^n*X^(2*n)/((2*N)!) (N!=1*2*...*N). ... " , не понимал и откладывал в "дальний угол". Т.в. прошу, объясните подробно, как их решать? На что смотреть в первую очередь? Как я понимаю формула строится по последней части (...+(-1)^n*X^(2*n)/((2*N)!)), скорее всего я не...
C++ Русский язык в консоли http://www.cyberforum.ru/cpp-beginners/thread335005.html
Скажу сразу, что закрепленную тему я прочитал, но не очень понял, как это реализовать. Вот код, текст выводится неизвестными символами. Будьте добры, переделайте программу так, что отображался русский текст. Тогда на примере я и пойму, как его сделать. #include <iostream> using namespace std; int main() { cout << "Привет планета Земля\n"; system("PAUSE");
C++ Посоветуйте open source проект Посоветуйте, пожалуйста, хороший open-source проект на котором можно поучиться. Критерии: 1. Лицензия GNU/GPL, BSD etc. 2. Основные языки C/C++ 4. Платформа - Windows 3. Хорошая документация и структура 4. Качественный код 5. Невысокий уровень сложности 6. Русскоязычное сообщество разработчиков(опционально) Спс. подробнее

Показать сообщение отдельно
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
21.07.2011, 22:54     Небольшая проблемка с прогой.
как вариант алгоритма выборки случайного числа:
1) смотри скоко символов в файле ( fseek + ftell )
2) выбирай случайное число N от 0 до <длина файла>
3) читай по 1 слову ( fscanf ) пока ftell <= N или !eof

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    FILE * fp = fopen("1.txt","rt");
    if (!fp) { return 1; }
 
    srand(time(0));
 
    fseek(fp,0,SEEK_END);
    size_t sz_file = ftell(fp);
    fseek(fp,0,SEEK_SET);
 
    size_t pos = rand()%sz_file;
 
    char word[30];
    while ( fscanf(fp,"%s",word)==1 && !feof(fp) && (ftell(fp)<=pos));
 
    puts(word);
    puts("Done.");
 
    getchar();
    return 0;
}
работает блин
 
Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru