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

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


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

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

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

Выпуск № 1030
от 21.03.2008, 05:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 484, Экспертов: 57
В номере:Вопросов: 8, Ответов: 10

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


Вопрос № 127393: Уважаемые эксперты помогите решить задачу: Найти величину максимального угла n-угольника, заданного координатами вершин....
Вопрос № 127394: Уважаемые эксперты помогите решить задачу: Определить максимальную длину последовательности подряд идущих битов, равных единице в двоичном представлении данного целого числа....
Вопрос № 127396: Уважаемые эксперты, помогите решить задачу:В строке записано число p – основание системы счисления, а затем целое неотрицательное число n в p-ичной системе счисления. Целочисленной переменной присвоить значение n....
Вопрос № 127427: И еще 3 вопроса: 1) Как во время выполнения программы поменять у кнопки название? Я имею в виду то, что в Delphi называется Caption. 2) Как в программе на MS Visual C++ создать что-то вроде label'а (метки) и вывести туда число, представленно...
Вопрос № 127454: Добрый день. Задача: написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b =0) и квадратного (a*x*x + b*x + c=) уравнений. Замечание: в функции передаются коэффициенты уравнений. Что-то с функциями никак не могу р...
Вопрос № 127478: Добрый вечер, спасибо за помощь. Еще задача: написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного веще...
Вопрос № 127520: здраствуйте уважаемые эксперты!помогите пожалуйста написать программу.Заранее спасибо!задан текст,состоящий из 0 и 1....
Вопрос № 127521: Добрый день. Возник вот такой вопрос: Имеется консольная программа, в которую с клавиатуры, вводится число, затем с этим числом производится какое либо арифметическое действие, выводится результат. Каким образом можно сделать, что бы результат висел ...

Вопрос № 127.393
Уважаемые эксперты помогите решить задачу: Найти величину максимального угла n-угольника, заданного координатами вершин.
Отправлен: 15.03.2008, 09:42
Вопрос задала: Sacss (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Sacss!
В приложении вариант решения вашей задачи с использованием векторной алгебры. Угол в нужной вершине определим с помощью формулы угла между двумя векторами. Для пример приведен разбор углов у прямоугольного треугольника с вершинами в точках ((0,0); (0,7); (9,0)).

Приложение:

Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 17.03.2008, 04:12
Оценка за ответ: 5


Вопрос № 127.394
Уважаемые эксперты помогите решить задачу: Определить максимальную длину последовательности подряд идущих битов, равных единице в двоичном представлении данного целого числа.
Отправлен: 15.03.2008, 09:48
Вопрос задала: Sacss (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Хватов Сергей
Здравствуйте, Sacss!

Функция (С/С++) - в приложении

Приложение:

Ответ отправил: Хватов Сергей (статус: Практикант)
Ответ отправлен: 15.03.2008, 11:36
Оценка за ответ: 5


Вопрос № 127.396
Уважаемые эксперты, помогите решить задачу:В строке записано число p – основание системы счисления, а затем целое неотрицательное число n в p-ичной системе счисления. Целочисленной переменной присвоить значение n.
Отправлен: 15.03.2008, 09:54
Вопрос задала: Sacss (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Denisss

Здравствуйте, Sacss!

В приложении находится пример программы, преобразующей строку в число.

Поскольку Вы не уточнили, как в строке отделить число p от числа n, то я предположил, что число p занимает 2 первых позиции (т.о., чтобы ввести число в 2-ной системе счисления, нужно первыми двумя цифрами ввести 02, для 8-ной системы - 08, для 10-й - 10, для 16-й - 16 и т.д.).

Как вариант, можно строчку
p = toDec(aStr[0])*10 + toDec(aStr[1]);

Заменить на:
p = toDec(aStr[0]);
if (p = 1){ p = 10 + toDec(aStr[1]); }
else i = 1;


В этом случае, программа будет самостоятельно угадывать длину числа p.
Но в этом случае максимальная система счисления будет равна 19.

Удачи!

Приложение:

---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 15.03.2008, 16:48
Оценка за ответ: 5


Вопрос № 127.427
И еще 3 вопроса:
1) Как во время выполнения программы поменять у кнопки название? Я имею в виду то, что в Delphi называется Caption.
2) Как в программе на MS Visual C++ создать что-то вроде label'а (метки) и вывести туда число, представленное в переменной типа int?
3) Можно ли в программе под Windows на MS Visual C++ менять период срабатывания таймера прямо во время работы этого таймера?
Отправлен: 15.03.2008, 13:12
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, Blackie!

1)
Можно послать кнопке сообщение WM_SETTEXT:
SendMessage(hButtonWnd,WM_SETTEXT,0,(LPARAM)string_ptr);

Тоже самое можно сделать с помощью функции SetWindowText

Если вы используете MFC, то вы можете создать для вашей кнопки переменную типа CButton и вызвать для нее метод SetWindowText

2) Для начала нужно перевести ваш int в строку. Сделать это можно целой кучей способов, например использовать метод Format класса CString:
CString number;
number.Format(_T("%d"),123);

Далее создаете на диалоге объект типа Static Text (не забудьте поменять его ID с ID_STATIC на какой-нибудь ID_STATIC_INT_NUMBER а то может не сработать) и используете функцию SetWindowText (см. выше)

3) Убиваем таймер функцией KillTimer и создаем его опять функцией SetTimer, вот и все =)
---------
Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 15.03.2008, 14:36


Вопрос № 127.454
Добрый день.
Задача: написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b =0) и квадратного (a*x*x + b*x + c=) уравнений. Замечание: в функции передаются коэффициенты уравнений.
Что-то с функциями никак не могу разобраться. Заранее спасибо
Отправлен: 15.03.2008, 16:32
Вопрос задала: Lotos1810 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Попов А.С.
Здравствуйте, Lotos1810!
Решение в приложении (скомпилена под VS2005)

template <class T> T roots( T a, T b, T &root)
template <class T> bool roots( T a, T b, T c, T &root1, T &root2)

ps корни уравнений (root, root1, root2) передаются по ссылке

Приложение:

Ответ отправил: Попов А.С. (статус: 10-ый класс)
Ответ отправлен: 15.03.2008, 17:07
Оценка за ответ: 5

Отвечает: Verena
Здравствуйте, Lotos1810!
Вообще, реализация такой задачи сильно зависит от того, как этот шаблон планируется использовать. Например, не понятно, что должна возвращать шаблонная функция - тот же тип, что будет передаваться ей в параметрах, или, например, универсальный double. Если шаблон планируется использовать с каким-то классом (например, классом матриц), в котором будут определены использующиеся в функции операции, то возвращаемым значением должен быть передаваемый тип, а если он будет использоваться со встроенными числовыми типами (int, float и т.п.), то логичнее возвращать double, поскольку результатом уравнения с целочисленными коэффициентами может быть действительное число. В общем, много тут условий, я приведу пример, как это можно реализовать, исходя из того, как я поняла Ваше задание, а Вы на основе этого сможете переписать функции для своей надобности.

Приложение:

---------
Эта история - не для истории, понимаешь?

Ответ отправила: Verena (статус: Практикант)
Ответ отправлен: 15.03.2008, 17:16
Оценка за ответ: 5


Вопрос № 127.478
Добрый вечер, спасибо за помощь. Еще задача:
написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.
Спасибо.
Отправлен: 15.03.2008, 20:49
Вопрос задала: Lotos1810 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

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

Решение смотрите в приложении

зы функция называется double roundtr(double num, int c)

Приложение:

Ответ отправил: Попов А.С. (статус: 10-ый класс)
Ответ отправлен: 16.03.2008, 07:45
Оценка за ответ: 4


Вопрос № 127.520
здраствуйте уважаемые эксперты!помогите пожалуйста написать программу.Заранее спасибо!задан текст,состоящий из 0 и 1.

Приложение:

Отправлен: 16.03.2008, 03:28
Вопрос задал: AlexJan87 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Попов А.С.
Здравствуйте, AlexJan87!
Решение смотрите в приложении

Приложение:

Ответ отправил: Попов А.С. (статус: 10-ый класс)
Ответ отправлен: 16.03.2008, 08:04
Оценка за ответ: 5
Комментарий оценки:
БОЛЬШОЕ СПАСИБО!!!

Отвечает: Denisss

Здравствуйте, AlexJan87!

Если я правильно понял задачу, то сравнивать нужно не с введенным (отдельно) пользователем символом, а с предыдущим символом в данном тексте. Соответствующий пример находится в приложении.

Если же нужно сравнивать с исходным значением, то желательно дополнительно объявить переменную типа char после ввода пользователем строки:
char ch = aStr[0];

а
if (aStr[i] != aStr[i - 1]) { aStr[i] = '0'; }
else aStr[i] = '1';


заменить на:
if (aStr[i] != ch) { ch = aStr[i]; aStr[i] = '0'; }
else aStr[i] = '1';


Удачи!

Приложение:

---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 16.03.2008, 18:42
Оценка за ответ: 5
Комментарий оценки:
БОЛЬШОЕ СПАСИБО!!!ОЧЕНЬ ПОДРОБНО НАПИСАННО:)


Вопрос № 127.521
Добрый день. Возник вот такой вопрос: Имеется консольная программа, в которую с клавиатуры, вводится число, затем с этим числом производится какое либо арифметическое действие, выводится результат. Каким образом можно сделать, что бы результат висел до тех пор, пока например не будет нажата клавиша F2? (Реализация с помощью WinAPI)

Приложение:

Отправлен: 16.03.2008, 03:34
Вопрос задал: Pesick (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zloi_goh
Здравствуйте, Pesick!
С помощью обработки консольных событий. В приложении программа которая закрывается по нажатию клавиши F2.
Функция ReadConsoleInput имеет следующий прототип:
BOOL WriteConsoleInputA(
HANDLE hConsoleInput, //хэндл ввода
INPUT_RECORD *lpBuffer, //Указатель на структуру INPUT_RECORD
DWORD nLength, //кол-во событий которые планируется обработать
LPDWORD lpNumberOfEventsWritten //указатель на переменную в которую поместят кол-во событий ожидающих обработки
);

Кроме события клавиатуры(KEY_EVENT), возможны следующие виды событий:
MOUSE_EVENT - событие мыши
WINDOW_BUFFER_SIZE_EVENT - изменился размер буфера консоли
MENU_EVENT - событие меню
FOCUS_EVENT - изменился фокус

Приложение:

---------
Лучше идти чем бежать, лучше стоять чем идти, лучше сидеть чем стоять, лучше лежать чем сидеть, лучше умереть чем лежать.

Ответ отправил: Zloi_goh (статус: 1-ый класс)
Ответ отправлен: 16.03.2008, 05:45
Оценка за ответ: 5
Комментарий оценки:
Спасибо, отлично!


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

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

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

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

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

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


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


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

В избранное