Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Си
Форум | ст. Ленинградская > Общение > Hard, Soft, программирование, интернет > Программирование
Gizmo
Привет всем =)
Кто разбирается в си? Мне нужна помошь в си =)
AGGR
Пиши что нужно.
Gizmo
Можешь посоветывать полезные книги?
я все накак не могу разобраться, где :; {} всякие ставить ((
Dj-Gruzin
в си я не разбераюсь, могу научить писать музыку. недорого. абращайся. научю за 5 уроков.

From Admin: оффтоп это не сть гуд. В дальнейшем буду удалять сообщения...
AGGR
Цитата(Gizmo @ 26.11.2006, 17:16) «
Можешь посоветывать полезные книги?
я все накак не могу разобраться, где :; {} всякие ставить ((


По чистому СИ я те ща даж ниче не посоветую - давно это было... Да и вряд ли ты его где-то применить сможешь.
Ищи что-нить по си-билдеру.
Gizmo
Насчет применения, не знаю, но мне его сдавать ))
Билдер не прокатит( мы на борлонде пишем, пока )))
Вроде пока разобрался, чуть-чуть...
Gizmo
Помогите плиз с задачкой:
Расставить на доске N*N(N<=12) N ферзей так, чтобы наибольшее кол-во клеток осталось вне поля боя ферзей

за мной не заржавеет
AGGR
Цитата(Gizmo @ 25.12.2006, 0:24) «
Помогите плиз с задачкой:
Расставить на доске N*N(N<=12) N ферзей так, чтобы наибольшее кол-во клеток осталось вне поля боя ферзей

за мной не заржавеет


Возможные решения:
http://golovolomka.hobby.ru/books/gik/04.shtml
http://olymp.karelia.ru/zam.htm
http://www.codenet.ru/progr/alg/8-queens/
_SG
Ну как успехи в освоении этого самого Си?
Sam
Плохо sad.gif

Есть у кого идеи как этот код сделать быстрее кроме перевода на asm?

int
main(void)
{
unsigned long loops_per_sec = 1;
unsigned long ticks;

printf("Calibrating delay loop.. ");
fflush(stdout);

while ((loops_per_sec <<= 1)) {
ticks = clock();
delay(loops_per_sec);
ticks = clock() - ticks;
if (ticks >= CLOCKS_PER_SEC) {
loops_per_sec = (loops_per_sec / ticks) * CLOCKS_PER_SEC;
printf("ok - %lu.%02lu Mips\n",
loops_per_sec/500000,
(loops_per_sec/5000) % 100
);
return 0;
}
}
printf("failed\n");
return -1;
}
_SG
Цитата(Sam @ 7.1.2007, 13:12) «
while ((loops_per_sec <<= 1)) {
ticks = clock();
delay(loops_per_sec);
ticks = clock() - ticks;

if (ticks >= CLOCKS_PER_SEC) {
loops_per_sec = (loops_per_sec / ticks) * CLOCKS_PER_SEC;


гм... нельзя ли избавиться от одного из вызовов clock()?

а вот здесь стопудово оптимизировать можно:

Цитата(Sam @ 7.1.2007, 13:12) «
loops_per_sec = (loops_per_sec / ticks) * CLOCKS_PER_SEC;


здесь компилятор строит очень медленный код - вызывается, по-моему, внутренняя функция _ftol(), для перевода float в int, что замедляет процесс (очень медленная функция).
лучше сразу тип double использовать - современные процессоры работают с плавающей точкой чуть ли не быстрее чем с целыми числами.
Sam
Спасибо, испытаю - доложу :-)
_SG
Цитата(Sam @ 8.1.2007, 21:20) «
Спасибо, испытаю - доложу :-)


токмо не забудь когда скажем
unsigned long loops_per_sec = 1;
поменяешь на double loops_per_sec = 1.0; а не на ... =1;
а то некоторые компиляторы и здесь могут нафинтить в плане оптимальности
Sam
GCC 4 использую, пока доволен smile.gif
_SG
Под лиухи компиляторы не изучал (((. Лень не позволяет. Под винду штук 5 перепробовал, правда уже года 3 ни строчки кода не нарисовал, но проблемы оптимизации в своё время изучал ввиду рисования трёхмерных движков smile.gif
GCC 4 - енто под линух, не ошибся? А то совсем программинг забывать в своих весях стал... sad.gif(((
_SG
Цитата(Sam @ 8.1.2007, 21:20) «
Спасибо, испытаю - доложу :-)


3 недели прошло. Где доклад smile.gif
Помогло, нет?
Sam
Все никак новый дистрибутив недождусь, а старый ставить неохота sad.gif
_SG
Дождася? Уж очень интересно, помогло или нет. )))
Щас сам жду Qt3, FreePascal, Kilyx3. За копейки должно прийти, жду.
Sam
Дождался и поставил уже. Сейчас решаю какую версию gcc лучше заюзать
_SG
ну и всё-таки как??
Sam
Да теперь уже никак, перешел на MacOS + Xcode tools
_SG
Цитата(Sam @ 21.9.2007, 8:17) «
Да теперь уже никак, перешел на MacOS + Xcode tools

Опть!
Хм... Ну и много там Юникса?
Sam
UNIX и есть. везде...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.