Вопрос № 64868: Уважаемые эксперты! столкнулась с проблемой. :( помогите пожалуйста найти решение.
В приложении представлена сортировка одномерного массива.
Требуется изменить ее так, чтобы сортировались только ненулевые элементы, то есть нулевые элементы от...Вопрос № 64907: Здравствуйте!
вот код программы которая должна складывать, вычитать векторы в 3х-мерном пространстве нах0дить их длинну
Обьясните мне что такое x1,x2,x3 если это координаты вектора то тогда зачем a,b,c и если не затруднит- напишите ф-ю input-...Вопрос № 64977: Здравствуйте, эксперты!
Помогите, пожалуйста, по языку С. Мне необходимо текст программы с комментариями и результаты работы программы.
1. Для матрицы M[5][5] найти минимальный элемент лежащий выше главной диагонали и поменять его с сим...Вопрос № 65007: Прошу помощи.
Как в Visual C++ можно сделать обычное диалоговое окно округлой формы ?
Тоесть диалоговое окно слегка с округлыми (тупыми) углами, примерно как в Windows XP
Приведите пожалуйста кусочек кода этой функции с комментариями
..
Вопрос № 64.868
Уважаемые эксперты! столкнулась с проблемой. :( помогите пожалуйста найти решение.
В приложении представлена сортировка одномерного массива.
Требуется изменить ее так, чтобы сортировались только ненулевые элементы, то есть нулевые элементы отставались на своих местах
Заранее спасибо.
Mary
Приложение:
Отправлен: 30.11.2006, 03:44
Вопрос задала: Mary (статус: 3-ий класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Терсков Сергей
Здравствуйте, Mary!
Попробуй во внутренние циклы вставить что-то вроде
if(mas1[...] == 0)
contunue;
Ответ отправил: Терсков Сергей (статус: 2-ой класс)
Ответ отправлен: 30.11.2006, 04:04 Оценка за ответ: 4 Комментарий оценки: к сожалению, это не помогло :(
вот собственно и все. обычная пузырьковая сортировка + 2 условия:
если mas[i]==0 мы его не сортируем и
если mas[j]==0 мы с ним не обмениваемся
Ответ отправил: PROD (статус: 5-ый класс)
Ответ отправлен: 30.11.2006, 08:44
Отвечает: Sergey A. Wedensky
Здравствуйте, Mary!
Не понял Вашего кода, да он и не работает - на строку mas1[x]=mas1[b] приходит с неинициализированной x.
В приложении рабочий код.
Приложение:
Ответ отправил: Sergey A. Wedensky (статус: 9-ый класс)
Ответ отправлен: 30.11.2006, 09:52
Вопрос № 64.907
Здравствуйте!
вот код программы которая должна складывать, вычитать векторы в 3х-мерном пространстве нах0дить их длинну
Обьясните мне что такое x1,x2,x3 если это координаты вектора то тогда зачем a,b,c и если не затруднит- напишите ф-ю input-ввод данных и main...
Спасибо
Приложение:
Отправлен: 30.11.2006, 10:54
Вопрос задал: W4rmonger (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ross
Здравствуйте, W4rmonger!
Код в приложении. Если непонятно, советую почитать какую-нибудь книгу по C++ и обратить внимание на создание классов.
Приложение:
Ответ отправил: Ross (статус: 3-ий класс)
Ответ отправлен: 01.12.2006, 02:24
Вопрос № 64.977
Здравствуйте, эксперты!
Помогите, пожалуйста, по языку С. Мне необходимо текст программы с комментариями и результаты работы программы.
1. Для матрицы M[5][5] найти минимальный элемент лежащий выше главной диагонали и поменять его с симметричным элементом, лежащим ниже этой диагонали.
2. Ввести две символьных строки. Выполнить вставку второй строки в пер-вую с позиции, введенной с клавиатуры. Новых строк не создавать. Строку до и после преобразования вывести на экран
3. Выполнить слияние двух рассортированных текстовых файлов в третий упорядоченный файл. Сортировок не использовать. Дополнительных масси-вов и файлов не использовать.
По первой задаче интересует также блок-схема и описание алгоритма работы по шагам.
Отправлен: 30.11.2006, 19:12
Вопрос задал: ШИЮ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Ross
Здравствуйте, ШИЮ!
Ответы на первые 2 вопроса в приложении. Насчет третьего вопроса: совсем не ясно что именно нужно делать. Опишите подробнее.
Приложение:
Ответ отправил: Ross (статус: 3-ий класс)
Ответ отправлен: 30.11.2006, 23:31
Вопрос № 65.007
Прошу помощи.
Как в Visual C++ можно сделать обычное диалоговое окно округлой формы ?
Тоесть диалоговое окно слегка с округлыми (тупыми) углами, примерно как в Windows XP
Приведите пожалуйста кусочек кода этой функции с комментариями
Отправлен: 01.12.2006, 01:05
Вопрос задал: Visualss (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Torsten
Здравствуйте, Visualss!
В windows для этого используются регионы.
Можете поискать статью на RSDN.ru про регионы для более кокретной информации, с примерами на WINAPI и MFC.
Суть в том, что для окна нужно установить новый регион.
В windows есть специальные функции, которые создают регион по заданным в них параметрам.
Регионы можно склеивать различными способами. То есть например создать пару регионов слева и справа (центр оставить пустым) и соединить их. После установки такого региона можно будет наблюдать куски окна справа и слева, а в центре ничего не будет. Конечно приминить это для чего-то трудно, но главное возможности, а их много.
Теперь конкретнее разбирем ситуацию вашего случая.
В WINAPI для работы с регионами предназначен хендл HRGN, в MFC класс CRgn.
Список функций для создания регионов в классе CRgn
CombineRgn
CreateEllipticRgn
CreateEllipticRgnIndirect
CreateFromData
CreateFromPath
CreatePolygonRgn
CreatePolyPolygonRgn
CreateRectRgn
CreateRectRgnIndirect
CreateRoundRectRgn << тебе нужна эта функция, она и создает прямоугольник с закгругленными углами.
Вот ее описание:
BOOL CreateRoundRectRgn(int x1,int y1,int x2, int y2, int x3,int y3);
Первые 4 параметры это left,top,right,bottom у прямоугольника, из которого ты создаешь регион.
А вот последние два параметра задают ширину и высоту в пискелях с которой будут закруглятся углы. Экспеременитрую с ними и добьешся нужного результат.
Если они будут равны 0, соотвественно угол будет полностью прямой, то есть 90 градусов, то есть еще проще он не изменится.
Описание других функий см. в MSDN.
Теперь далее, как все это приминить на деле. Для диалога легко. Нужно устанавливать регион в обработчике события WM_SIZE, то есть когда размер окна изменяется.
Пример в приложении.
Если это делать например только при инициализации диалога, то окно будет отображатся не правильно, после изменения размеров окна.
Хотя я бы рекомендовал на всякий случай дублировать код установки региона в OnInitDialog.
Приложение:
--------- #define MAGIC_NUMBER 0xdeface
Ответ отправил: Torsten (статус: 3-ий класс)
Ответ отправлен: 01.12.2006, 15:42