Вопрос № 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,продвигается со скрипом.Спасибо Вам за конкретику,надо будет разобраться.