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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

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

Выпуск № 1115
от 26.09.2008, 13:05

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

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


Вопрос № 144479: Помогите с вопросом с таким ..... нужна матрца 4 на 4 со значениями "0" на побочных диогананлях ....а сотальные значения случайные...
Вопрос № 144512: Товарищи эксперты, не подскажете, что это за ошибочка и как ее исправить? Error 6 error LNK2019: unresolved external symbol _RtlInitUnicodeString@8 referenced in function "public: int __thiscall func::CZwOpenDirectoryObject(void)" (?...
Вопрос № 144517: Здраствуйте.Не могу найти ответ на вопрос,довольно легкий для тех кто знает. В Borland C++ Builder для для преобразования типов специально предусмотрен ряд методов: FloatToStr() - преобразование вещественного числа в строку; IntToStr() - п...

Вопрос № 144.479
Помогите с вопросом с таким ..... нужна матрца 4 на 4 со значениями "0" на побочных диогананлях ....а сотальные значения случайные
Отправлен: 20.09.2008, 16:00
Вопрос задал: Gnom89 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: mega
Здравствуйте, Gnom89!
заполнение матрицы происходит в 2 прохода:

1. заполнение всей матрицы случ. величинами
2. заполнение диагональных элементов нулями

Приложение:

Ответ отправил: mega (статус: 5-ый класс)
Ответ отправлен: 20.09.2008, 16:21

Отвечает: realbustard
Здравствуйте, Gnom89!
Если элемент матрицы является элементом побочной диагонали, то сумма его индексов [i][j] будет равна: i+j==(n-1), где n - это размерность квадратной матрицы, в нашем случае это 4. Исходя из этого условия, определяем, какому элементу присвоить значение 0, а какому случайное.

Приложение:

---------
Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)

Ответ отправил: realbustard (статус: 3-ий класс)
Ответ отправлен: 20.09.2008, 16:34

Отвечает: Sk0rp
Здравствуйте, Gnom89!

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

Приложение:

Ответ отправил: Sk0rp (статус: 4-ый класс)
Ответ отправлен: 20.09.2008, 18:05


Вопрос № 144.512
Товарищи эксперты, не подскажете, что это за ошибочка и как ее исправить?

Error 6 error LNK2019: unresolved external symbol _RtlInitUnicodeString@8 referenced in function "public: int __thiscall func::CZwOpenDirectoryObject(void)" (?CZwOpenDirectoryObject@func@@QAEHXZ) main.obj

Приложение:

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

Отвечает: Sk0rp
Здравствуйте, Chip!

Эта ошибка означает, что при сборке не находится код функции, т.е. она объявлена, но не реализовано.
её реализация находится в ntdll.dll, а интерфейсную либу к ntdll.dll вы к своему проету наверняка не линкуете (да я и не знаю существует ли она)

предлагаю обращаться напрямую в ntdll

Приложение:

Ответ отправил: Sk0rp (статус: 4-ый класс)
Ответ отправлен: 21.09.2008, 04:31


Вопрос № 144.517
Здраствуйте.Не могу найти ответ на вопрос,довольно легкий для тех кто знает.
В Borland C++ Builder для для преобразования типов специально предусмотрен ряд методов:
FloatToStr() - преобразование вещественного числа в строку;
IntToStr() - преобразование целого числа в строку;
StrToFloat() - преобразование строки в вещественное число;
StrToInt() - преобразование строки в целое число.

Не могли бы Вы мне предоставить аналогичные функции для работы в VC++.
Необходимо для своего приложения выполнить следующую команду,наподобие:
label1->Text=(123);
или
textBox1->Text=(123);
что конечно же не работает,как не работают и функции Borland C++ Builder типа
label1->Text=IntToStr(123);

Отправлен: 21.09.2008, 07:09
Вопрос задал: Vov2326 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Sk0rp
Здравствуйте, Vov2326!
вот эти функции:

double atof(const char *string );
double _wtof(const wchar_t *string);
int atoi(const char *string);
__int64 _atoi64(const char *string);
int _wtoi(const wchar_t *string);
__int64 _wtoi64(const wchar_t *string);
long atol(const char *string);
long _wtol(const wchar_t *string);

в приложении пример работы с ними

Приложение:

Ответ отправил: Sk0rp (статус: 4-ый класс)
Ответ отправлен: 21.09.2008, 11:02
Оценка за ответ: 3
Комментарий оценки:
Большое Вам спасибо за то что ответили.Но посмотрите на этот метод:
int a;
label1->Text=a.ToString();
помоему он локоничен и лёгок для понимания и его с легкостью может употребить новичок.Только что обнаружил его на иностранном форуме.
И всё равно,выражаю Вам большую благодарность за ответ.

Отвечает: mega
Здравствуйте, Vov2326!

судя по комментарию, вас не устраивает сложность применения этих методов,
хотя подозреваю, что вы просто не можете привыкнуть к тому, что в VC вам самому необходимо следить за всеми используемыми ресурсами,
а если конкретнее, то за строками.

что ж, использование Си зачастую тем и характерен,
что под контролем разработчика находится практически всё, включая и такие, как казалось в Builder'е, мелочи.

то, что вы видели на иностранном форуме обуславливается лишь объектной-ориентированым подходом к слежению за ресурсами,
что ни как не означает, что базовые rtl функции, часть из которых предложил Sk0rp, там не используются.

большинство проблем, с которыми, как я полагаю, вы сейчас сталкиваетесь решеются с использованием библиотеки STL, реализация которой скрыта в пространстве имен std.
попробуйте найти таким базовым примитивам как строки, списки, стеки и т.п. применение в своих программах, наверняка станет легче и проще.

для примера я предлагаю заголовочный файл, который позволяет конвертировать практически все базовые типы данных в строковый вид, включая слежение за ресурсами, предложенный в stl. (здесь я использую только юникод версию функций, поскольку практически всегда работаю только с русскоязычными строковыми ресурсами./*меньше проблем*/)

[см. приложение]

префикс функций wcs означает WIDE CHAR STRING, можете назвать функции как вам будет удобнее
в приложении четыре функции, две из которых основные: wcsscan и wcsprint

что они делают:

wcsscan(str,L"%f",&value) - преобразование юникод строки str типа std::wstring в вещественное число value типа float;
wcsscan(str,L"%i",&value) - преобразование юникод строки str типа std::wstring в целое число value типа int.
wcsprint(L"%f",value) - преобразование вещественного числа value типа float в юникод строку типа std::wstring;
wcsprint(L"%i",value) - п реобразование целого числа value типа int в юникод строку типа std::wstring;

это самое малое, на что способны эти функции, поскольку формат строк(параметр lpszFormat) имеет богатый синтаксис стандартного интерфейса ввода-вывода Си
за дополнительной информацией обращайтесь в справочную систему MSDN по ключевым словам sscanf и sprinf или в google за аналогичной русскоязычной документацией

обращаю внимание на тип строки std::wstring
если вы выполняете операцию

textBox1->Text=wcsprint(L"%i",123);

то Text должен иметь соответствующий тип std::wstring
поскольку вы не описали какими инструментами пользуетесь, предполагаю, что это не имеет для вас большого значения, и не должно вызывать трудностей

Приложение:

Ответ отправил: mega (статус: 5-ый класс)
Ответ отправлен: 21.09.2008, 20:55
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое,что ответили.Мне очень понравились Ваши пояснения.Благадарю Вас.Моя среда разработки называется VS2008 и на Ваше предложение,заголовки я аккуратно внёс, она выдала:"error C3861 wcsprint : indetifier not found"
Вы обсолютно правы-я ещё очень даже новичок и мои задачи входит создание лёгких приложений WFA для связи компьютера с микроконтроллерами по RS-232.В принципе мне достаточно и VB6,но глядя в перспективу решил,что С будет всё-же круче.Обложился книгами и справочниками по С и С++.Дело,в отличии от VBasica,продвигается со скрипом.Спасибо Вам за конкретику,надо будет разобраться.


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

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.3 RC 2 от 09.09.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное