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

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


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

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

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

Выпуск № 1018
от 08.03.2008, 23:35

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

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


Вопрос № 125734: Здравствуйте! Нужно создать программу, фильтрующую текст, введенный с клавиатуры. Задача программы заключается в считывании текста и отбражении его на экране , используя замену заданного набора символов на пробелы. Программа должна предлагать следующ...
Вопрос № 125736: Уважаемые эксперты, ооочень нуждаюсь в решение программок: (заранее спасибо) ************************ Создать программу, фильтрующую текст, введенный с клавиатуры. Задача программы заключается в считывании текста и отбражении его на экран...
Вопрос № 125749: Как правильно в Borland C++ под DOS линковать скомпилированные графические программы? Линковщик пишет Undefined symbol _setcolor in module ... За место _setcolor могут быть любые графические функции примененные в программе. Слышал, что нужно ...
Вопрос № 125829: Здравствуйте, эксперты! Появился вопрос связанный с WinAPI, никак не могу найти оптимальное решение на С++: Допустим, есть диалог с кнопкой, при нажатии на которую, функция обработки диалога должна записать данные в какую-либо внешнюю структу...
Вопрос № 125849: Здраствуйте Эксперты! Не могли бы вы более проще написать текст программы для задачи со следующим условием: "Дана последовательность символов, оканчивающихся точкой. В конец последовательности добавить все её символы, располагая их в обратном по...
Вопрос № 125866: Доброго времени суток, уважаемые эксперты! Очень нужна Ваша помощь: необходимо написать программу для ввода текста. Выделить предложение с наименьшим количеством слов. Вывести на экран подряд(без пробелов) все слова этого предложения. Спасибо....

Вопрос № 125.734
Здравствуйте! Нужно создать программу, фильтрующую текст, введенный с клавиатуры. Задача программы заключается в считывании текста и отбражении его на экране , используя замену заданного набора символов на пробелы. Программа должна предлагать следующие варианты наборов символов для фильтрации:
Символы латинского алфавита
Символы кириллицы
Символы пунктуации
Цифры
Фильтры могут накладываться последовательно. При повторной установке существующего фильтра данный фильтр должен сниматься.
Отправлен: 02.03.2008, 23:55
Вопрос задала: Tanyha (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: shayen
Здравствуйте, Tanyha!
в приложении код программы компилировался под VS 2003. Для коректного отображения кирилицы необходимо в свойствах командной строки указать шрифт Lucida console.

Приложение:

Ответ отправил: shayen (статус: 4-ый класс)
Ответ отправлен: 03.03.2008, 09:29


Вопрос № 125.736
Уважаемые эксперты, ооочень нуждаюсь в решение программок:
(заранее спасибо)
************************
Создать программу, фильтрующую текст, введенный с клавиатуры. Задача программы заключается в считывании текста и отбражении его на экране , используя замену заданного набора символов на пробелы. Программа должна предлагать следующие варианты наборов символов для фильтрации:
Символы латинского алфавита
Символы кириллицы
Символы пунктуации
Цифры
Фильтры могут накладываться последовательно. При повторной установке существующего фильтра данный фильтр должен сниматься.
--------------------------------------------------------------------------------

Написать "Морской бой" для игры человека против компьютера. Предусмотреть за человека возможность автоматической (расстановку осуществляет кораблей компьютер случайным образом) и ручной расстановки своих кораблей. Стоимость задания существенно повышается, если компьютер при стрельбе будет обладать логикой (т. е. не производить выстрелы "рандомайзом").
Отправлен: 03.03.2008, 00:31
Вопрос задал: Биюн Виктор Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: shayen
Здравствуйте, Биюн Виктор Павлович!
ваше первое задание в приложении компилилось под VS 2003. Для коректного отображения кирилицы нужно в свойствах консоли выбрать шрифт Lucida console

Приложение:

Ответ отправил: shayen (статус: 4-ый класс)
Ответ отправлен: 03.03.2008, 09:34
Оценка за ответ: 5


Вопрос № 125.749
Как правильно в Borland C++ под DOS линковать скомпилированные графические программы? Линковщик пишет
Undefined symbol _setcolor in module ...
За место _setcolor могут быть любые графические функции примененные в программе. Слышал, что нужно линковщик запускать с определенными параметрами, как это делается?
Отправлен: 03.03.2008, 06:30
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

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

Скорее всего Вы имеете в виду компилятор BC++ 3.1. Для него необходимо сообщить линковщику о необходимости прилинковать графические библиотеки. Это достигается установкой "галочки" в меню Options->Linker->Libraries->Graphics Library.
Если же Вы предпочитаете при компиляции командную строку, то того же эффекта можно достигнуть прилинковав требуемую библиотеку с помощью ключа -L[pathname][libname].

Успехов!
---------
Стучитесь! И Вас откопают...
Ответ отправил: Sergijj (статус: Студент)
Ответ отправлен: 03.03.2008, 09:42
Оценка за ответ: 5


Вопрос № 125.829
Здравствуйте, эксперты!
Появился вопрос связанный с WinAPI, никак не могу найти оптимальное решение на С++:
Допустим, есть диалог с кнопкой, при нажатии на которую, функция обработки диалога должна записать данные в какую-либо внешнюю структуру. Проблема в том, что данная функция видит только свои параметры и глобальные переменные. Вопрос в том, как это лучше всего сделать, не прибегая к глобальным переменным?
Хотелось бы статью, ссылки или пример.
Заранее спасибо.
Отправлен: 03.03.2008, 18:07
Вопрос задал: Nomind (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Zloi_goh
Здравствуйте, Nomind!
Как вариант можно создать файл и писать в него. В приложении пример как это сделать с помощью WinAPI.

Приложение:

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

Ответ отправил: Zloi_goh (статус: 1-ый класс)
Ответ отправлен: 03.03.2008, 18:55
Оценка за ответ: 4
Комментарий оценки:
К сожалению, этот вариант не подходит, но все равно спасибо за пример.

Отвечает: Aristos
Здравствуйте, Nomind!

Предложу использовать функцию DialogBoxParam:
INT_PTR DialogBoxParam(HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam);
Она отличается от DialogBox пятым аргументом - dwInitParam, значение которого передается функции обработки сообщений диалога (lpDialogFunc) с помощью сообщения WM_INITDIALOG, параметром сообщения lParam.
Дальше все равно придется сохранить переданное значение в статической переменной в функции или в статической переменной класса.
По другому не получится, потому что сама функция обработки является либо глобальной, либо статической функцией класса (все равно что глобальная, но с областью видимости функции-члена класса).
---------
нет ничего невозможного
Ответ отправил: Aristos (статус: 9-ый класс)
Ответ отправлен: 03.03.2008, 22:26
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Должно подойти

Отвечает: Сандров Алекс
Здравствуйте, Nomind!

Я обычно завожу класс CApp, в котором храню все данные, связанные с приложением. Потом объявляю переменную этого класса, и через неё делаю обработку и обмен данными между блоками программы.

Варинат 2, я не знаю, насколько "внешняя структура, но можно привязать её к кнопке (если она может как-то связана с кнопокой). Если пишете на MFC, то можно создать свой класс отнаследованный от CButton, в нём завести указатель на структуру или саму структуру и по нажатию в обработчике самой кнопки её проинициализировать. Если не MFC, можно воспользоваться SetWindowLong и GWL_USERDATA
Ответ отправил: Сандров Алекс (статус: 5-ый класс)
Ответ отправлен: 04.03.2008, 06:02


Вопрос № 125.849
Здраствуйте Эксперты! Не могли бы вы более проще написать текст программы для задачи со следующим условием: "Дана последовательность символов, оканчивающихся точкой. В конец последовательности добавить все её символы, располагая их в обратном порядке." Желательно использовать только операции с двунаправленными списками и структуры. Уберите пожалуйсто классы, если это возможно)))
Заранее благодарен!)))

Приложение:

Отправлен: 03.03.2008, 21:11
Вопрос задал: Демарчук Константин Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Verena
Здравствуйте, Демарчук Константин Александрович!
Конечно, решение через класс гораздо красивее. Но, если Вам так уж хочется, пожалуйста: убираем объявление класса, все его функции остаются функциями вне класса (в данном случае мы просто добавляем к параметрам указатель на head) и предусматриваем функционал конструктора и деструктора в функции main. Сами алгоритмы работы со списком, на мой взгляд, вполне стандартные и упрощения не требуют. Ещё я объявила тип node* через typedef как list - это сделано для удобства передачи указателя в функции (в некоторых функциях, где выделяется или удаляется память, нам нужен не просто указатель (node*), а двойной указатель (node**), потому что в первом случае сам адрес в функцию передаётся по значению и изменению внутри неё не подлежит. Исправленная программа в приложении.

Приложение:

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

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 03.03.2008, 21:58
Оценка за ответ: 5

Отвечает: Терсков Сергей
Здравствуйте, Демарчук Константин Александрович!
В приложении вы найдете вариант решения вашей задачи на языке С.

Приложение:

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


Вопрос № 125.866
Доброго времени суток, уважаемые эксперты! Очень нужна Ваша помощь: необходимо написать программу для ввода текста. Выделить предложение с наименьшим количеством слов. Вывести на экран подряд(без пробелов) все слова этого предложения. Спасибо.
Отправлен: 03.03.2008, 23:25
Вопрос задал: Alex_kh (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Verena
Здравствуйте, Alex_kh!
Например, эту задачу можно решить так. Считаем, что предложение оканчивается точкой. Для начала выделяем под строку некоторый буфер (у меня - 255 символов), посимвольно начинаем считывать из стандартного ввода, если вводится больше 255 символов, то буфер расширяется. Далее ищем предложение с минимальным числом слов. Для этого в участке текста от точки до точки считаем пробелы (учитывается и случай, если предложение начинается с пробела и если пробел стоит перед точкой, и если пробелов несколько), количество пробелов по сути будет количеством слов-1. Расположение минимального предложения мы запоминаем в специальной переменной. И, наконец, мы выводим предложение на экран, пропуская пробелы (в общем-то, в этом случае и будут выведены все слова предложения подряд). Думаю, из комментариев всё будет ясно. Скомиллированно в VS2005.
Удачи!

Приложение:

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

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 04.03.2008, 01:08

Отвечает: Терсков Сергей
Здравствуйте, Alex_kh!
В приложении вы найдете вариант решения вашей задачи с использованием STL строк.

Приложение:

Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 05.03.2008, 04:02


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

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

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

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

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

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


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


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

В избранное