Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 948
от 27.12.2007, 07:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 473, Экспертов: 54
В номере:Вопросов: 7, Ответов: 12

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 115173: Здравствуйте, уважаемые эксперты! Помогите, пожалуйста, как сделать так, чтобы информация, например - индекс цикла, считываемые данные или результаты обработки из цикла выводилась с задаваемым произвольно промежутком времени. Попробовал...
Вопрос № 115190: Добрый день. Вопрос состоит в следующем. здесь идет присваивание содержания x[i]=StrToInt(StringGrid1->Cells[1][i]); а как сделать так, что бы присваивалось количество символов в строке? Спасибо за внимание...
Вопрос № 115216: Здравствуйте! Как в C++ узнать версию windows ?? В инете искал, все примеры ведут на один и тот же код, нерабочий ((...
Вопрос № 115248: Всем привет. Помогите написать программку по нахождению кратчайшего пути в графах на СИ++. Стандартная задача: дано 12 точек соединенных отрезками определенной длины, определить кратчайший путь из пункта А в пункт Б (вывести на экран номера этих точе...
Вопрос № 115283: Здравствуйте! Помогите пожалуйста с программой. Написать программу решения по методу Гаусса системы линейных уравнений а11 х1+а1n xn=b1 . . . . аn1 x1+ ann xn=b n Квадратная матрица [aij] ij=1,..,n и вектор b1,..,bn-исходные данные зад...
Вопрос № 115292: доброго времени суток, уважаемые эксперты! я только начинаю постигать азы с++... у меня два вопроса: 1) как создавать модули в с++?? 2) где найти процедуру-функцию обхода конем шахматной доски? ...
Вопрос № 115331: Помогите, пожалуйста, студенту заочнику решить 2-e задачи на языке программирования Си++... пока я осилю толмуд по языку, профессор уже уедет, а работу сдать надо... 1. Подсчитайте количество слов в тексте, начинающихся и заканчвающихся одно...

Вопрос № 115.173
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста, как сделать так, чтобы информация, например - индекс цикла, считываемые данные или результаты обработки
из цикла выводилась с задаваемым произвольно промежутком времени.
Попробовал задержку времени через Time(), отразилась только последний индекс.
Программа под С++ Builder Win.

Отправлен: 21.12.2007, 09:15
Вопрос задал: Степанов В.А. (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Степанов В.А.!
Обычно в таких случаях используют функцию из WinAPI - Sleep. Вот ее описание из МСДН.

VOID Sleep(
DWORD dwMilliseconds
);

Она задерживает выполнение текущего потока на dwMilliseconds миллисекунд.
Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 21.12.2007, 09:26
Оценка за ответ: 2
Комментарий оценки:
пробывал,видна последняя цифра, промежуточные не видно!

Отвечает: kool
Здравствуйте, Степанов В.А.!
Скорее внего нужно строить многпоточное приложение
и использовать ф-цию sleep().
Удачи!

---------
I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 21.12.2007, 09:43
Оценка за ответ: 2
Комментарий оценки:
при использовании этой ф-ии не видно промежуточных результатов.

Отвечает: Mitya86
Здравствуйте, Степанов В.А.!

попробуй функцию Sleep(n); n - время задержки в миллисекундах. Эта функция объявлена в windows.h, поэтому не забудь сделать #include <windows.h>
Ответ отправил: Mitya86 (статус: 3-ий класс)
Ответ отправлен: 21.12.2007, 12:03
Оценка за ответ: 2
Комментарий оценки:
не выводятся промежуточные результаты из тела при использовании цикла For()

Отвечает: Титов Михаил Анатольевич
Здравствуйте, Степанов В.А.!

Если я правильно понял, то речь идет о длительно выполняющемся цикле, в течении которого нужно периодически выводить этап (индекс цикла, например) и промежуточные результаты? Если так, то почему time() не помогло?

В приложении пример кода, так как я это вижу.

Если нужна точность выше, чем 1 секунда, то вместо time() можно использовать функцию clock().

Приложение:

Ответ отправил: Титов Михаил Анатольевич (статус: 4-ый класс)
Ответ отправлен: 22.12.2007, 06:28
Оценка за ответ: 3
Комментарий оценки:
Уважаемый Михаил Анатольевич! Спасибо за совет, но я переделал вашу программу в BC++ void __fastcall TForm1::Button1Click(TObject *Sender) { { time_t t, period; long i; double s = 0; // äîïóñòèì íàõîäèì ñóììó êâàäðàòíûõ êîðíåé íàòóðàëüíûõ ÷èñåë ìåíüøå 100 ìèëëèîíîâ // ïðîìåæóòî÷íûå ðåçóëüòàòû âûâîäèì êàæäûå 10 ñåêóíä t = time(NULL); period = 10; for(i = 0; i < 1000L; i++) { s += sqrt(i); if(time(NULL) - t >= period) { // åñëè çàäàííûé ïåðèîä èñòåê, âûâîäèì ïðîìåæóòî÷íûå ðåçóëüòàòû Edit1->Text=FloatToStr( i); Edit2->Text=FloatToStr(s); t = time(NULL); } } Edit3->Text=FloatToStr( i); Edit4->Text=FloatToStr(s); getchar(); } } Результат тотже, что и у меня: программа выдает конечный результат, не выдовая промежуточные, хотя В С++, все так как вы и описали!(Вы не обратили на ограничение- в ВС++) С уважением Владимир.


Вопрос № 115.190
Добрый день. Вопрос состоит в следующем.

здесь идет присваивание содержания
x[i]=StrToInt(StringGrid1->Cells[1][i]);

а как сделать так, что бы присваивалось количество символов в строке?

Спасибо за внимание
Отправлен: 21.12.2007, 12:16
Вопрос задал: Соколов Виктор Васильевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Lemeshev Konstantin
Здравствуйте, Соколов Виктор Васильевич!
Видимо вот так x[i]=StringGrid1->Cells[1][1].Length();
Ответ отправил: Lemeshev Konstantin (статус: 6-ой класс)
Ответ отправлен: 21.12.2007, 12:25
Оценка за ответ: 4

Отвечает: Mitya86
Здравствуйте, Соколов Виктор Васильевич!

что-то вроде x[i] = sizeof(StringGrid1->Cells[1][i])/sizeof(type), где вместо type надо поставить тип данных, который содержит ячейка StringGrid'а.
а если ячейка содержит string, то можно так: x[i] = StringGrid1->Cells[1][i].length()
Ответ отправил: Mitya86 (статус: 3-ий класс)
Ответ отправлен: 21.12.2007, 12:41
Оценка за ответ: 5
Комментарий оценки:
Ответ был подробно изложен


Вопрос № 115.216
Здравствуйте!

Как в C++ узнать версию windows ??

В инете искал, все примеры ведут на один и тот же код, нерабочий ((
Отправлен: 21.12.2007, 14:12
Вопрос задал: Андрей Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: mega
Здравствуйте, Андрей Владимирович!
А в MSDM заглянуть не пробовали?

Приложение:

Ответ отправил: mega (статус: 3-ий класс)
Ответ отправлен: 21.12.2007, 14:24

Отвечает: Aristos
Здравствуйте, Андрей Владимирович!

C++ - платформонезависий язык. Как и стандартные библиотеки. Чтобы узнать версию windows надо использовать средства WinAPI. А именно функцию GetVersionEx(), которая в качестве аргумента принимает структуры OSVERSIONINFO или OSVERSIONINFOEX (начиная с NT 4.0 sp6).
---------
нет ничего невозможного
Ответ отправил: Aristos (статус: 9-ый класс)
Ответ отправлен: 21.12.2007, 14:38


Вопрос № 115.248
Всем привет. Помогите написать программку по нахождению кратчайшего пути в графах на СИ++. Стандартная задача: дано 12 точек соединенных отрезками определенной длины, определить кратчайший путь из пункта А в пункт Б (вывести на экран номера этих точек и длину пути).
Заранее спасибо.
Отправлен: 21.12.2007, 17:44
Вопрос задал: Basket204 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Basket204!
Подобные вопросы уже встречались (№№ 113308, 112308). Для поиска самых коротких путей в графах лучше всего использовать классические алгоритмы. Например :

Алгоритм Дейкстры

Описание + исходник

Алгоритм Форда-Беллмана

Описание + исходник

algolist.manual.ru, ©ishodniki.ru)
Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 24.12.2007, 03:29
Оценка за ответ: 5
Комментарий оценки:
спасибо


Вопрос № 115.283
Здравствуйте! Помогите пожалуйста с программой.
Написать программу решения по методу Гаусса системы линейных уравнений а11 х1+а1n xn=b1
. . . . .
аn1 x1+ ann xn=b n Квадратная матрица [aij] ij=1,..,n и вектор b1,..,bn-исходные данные задачи (предпологается, что система совместна и имеет единственное решение) Применить программу для решения следующих систем:

Приложение:

Отправлен: 21.12.2007, 20:35
Вопрос задал: Domin9es (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Терсков Сергей
Здравствуйте, Domin9es!
В приложении вы найдете реализацию метода Гаусса. Единственное чего не хватает - это проверки нулевых элементов на главной диагонали.

Приложение:

Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 25.12.2007, 03:48


Вопрос № 115.292
доброго времени суток, уважаемые эксперты!
я только начинаю постигать азы с++...
у меня два вопроса:
1) как создавать модули в с++??
2) где найти процедуру-функцию обхода конем шахматной доски?

Приложение:

Отправлен: 21.12.2007, 21:11
Вопрос задал: gRemm (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Виктор Пырлик
Здравствуйте, gRemm!

Основная программа:

// d2.cpp : Defines the entry point for the console application.
//

#include < stdio.h >
#include < stdlib.h >
#include "myfunctions.h" // <--- ВАЖНО! свои заголовочные файлы подключаем в кавычках, а //стандартные в угловых скобках... Точнее, файлы что «лежат» в определенных путях поиска в //угловых, а те что лежат в нашем каталоге или еще где, но путь не известен среде – в кавычках.

int main(int argc, char* argv[])
{
int x = max(5,10);
printf(" Max value = %i ",x);
return 0;
}

файл реализации (исходный код, «модуль») - myfunctions.cpp


#include < stdio.h >
#include "myfunctions.h"

int max(int x,int y)
{
return (x>y)?x:y;
}


Заголовочный файл - myfunctions.h, в нем описываются функции, которые экспортирует «модуль», а так же, обычно прописываются различные константы, макросы и т.д., особо, если нужно вынести их в глобальное объявление... Он так и называется - «заголовочный», в нем описываются все объявления функций и т.д.

int max(int x,int y);


вот так.. всего одна простая функция.. но по мере написания дополнительных функций, тут объявления будут добавляться... И всё что тут определено – будет «видно» из других файлов подключенных к проекту...

---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Специалист)
Ответ отправлен: 21.12.2007, 22:28
Оценка за ответ: 4
Комментарий оценки:
* на моей машине ваши коды заработали только после следующих исправлениях
(может у нас разные версии gcc)
1)при смене ковычек(") на угловые скобки <>
2)при переименовании модуля на - myfuctions.h
в остальном спасибо за содействие


Вопрос № 115.331
Помогите, пожалуйста, студенту заочнику решить 2-e задачи на языке программирования Си++... пока я осилю толмуд по языку, профессор уже уедет, а работу сдать надо...

1. Подсчитайте количество слов в тексте, начинающихся и заканчвающихся одной и той же буквой.

2. Напечатать пары простых чисел "близнецов" (т.е. например 37 и 73) из отрезка [n,10n].

Отправлен: 22.12.2007, 06:27
Вопрос задала: Татьянка (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, Татьянка!

Решение обоих задачек в приложении к ответу

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 23.12.2007, 18:47
Оценка за ответ: 5


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.66 от 23.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное