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

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


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

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

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

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

Выпуск № 910
от 18.11.2007, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 481, Экспертов: 72
В номере:Вопросов: 4, Ответов: 12


Вопрос № 109072: Здраствуйте у меня тут проблема с программой: Даны целые массивы А[10],И B[10] и значение C,E,D,F . Каждый массив преобразовать следующим образом: если элемет массива A[i]>=0, то он заменяется на значение C,иначе на значение D. <...
Вопрос № 109077: Здавствуйте, подскажите новичку. Как создать функцию в С++. Текст программы прилагается, он строить график типа Bar. Хочу создать из этой программы фукцию с входными параметрами: float pdk[3][21]={{4,15,19,20,58,26,25,27,29,37,34,2,35,32,40,43,46...
Вопрос № 109155: Уважаемые эксперты. Хелп. Упорно не понимаю почему не хочет компилироваться код. Ошибка error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR' Вижуал Студио 2005 Грандмерси...
Вопрос № 109177: Короче, помогите плиз сделать задачу по программированию (С++). Ток плиз напишите все как для новечка :))) Вот задача: Даны целые числа массива А[10],В[10]изначения P и Q. Каждый массив преобразовать по правилу: компотенты с четн...

Вопрос № 109.072
Здраствуйте у меня тут проблема с программой:
Даны целые массивы А[10],И B[10] и значение C,E,D,F
. Каждый массив преобразовать следующим
образом: если элемет массива A[i]>=0, то он
заменяется на значение C,иначе на значение D.
Если элемент массива B[i]>=0, о он заменяется на
значение E, иначе на значение F. Вроде всё нада сделать через функции. Пожалуйсто Help Help Help :)
Отправлен: 12.11.2007, 15:32
Вопрос задал: Иванов Александр Николаевич (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Garmash Dima
Здравствуйте, Иванов Александр Николаевич!
Делаем функцию: передаешь в неё массив и два значения, вызываем её для каждого массива. и она все делает.

Приложение:

---------
Шизофрения это нормально

Ответ отправил: Garmash Dima (статус: 2-ой класс)
Ответ отправлен: 12.11.2007, 18:42

Отвечает: Гальцов Андрей
Здравствуйте, Иванов Александр Николаевич!

Держите!...Каждое действие в отдельной функции...
Структура программы:
1) вводим массивы
2) распечатываются исходные массивы
3) меняем элементы(C,D,E,F)
4) выводим образовавшиеся массивы

Приложение:

---------
"The more you know, the less you need to show"

Ответ отправил: Гальцов Андрей (статус: Студент)
Ответ отправлен: 12.11.2007, 22:35

Отвечает: Титов Михаил Анатольевич
Здравствуйте, Иванов Александр Николаевич!

Ну через функцию, так через функцию...
Программа в приложении

Приложение:

Ответ отправил: Титов Михаил Анатольевич (статус: 3-ий класс)
Ответ отправлен: 13.11.2007, 03:03

Отвечает: Архипов Александр Леонидович
Здравствуйте, Иванов Александр Николаевич!
Сдесь легче без функций. В примере показано для массивов с нулевыми значениями, поэтому, там где отмечено необходимо ввести значения этих массивов и ввести значения CDEF.

Приложение:

Ответ отправил: Архипов Александр Леонидович (статус: 9-ый класс)
Ответ отправлен: 13.11.2007, 14:05


Вопрос № 109.077
Здавствуйте, подскажите новичку. Как создать функцию в С++. Текст программы прилагается, он строить график типа Bar. Хочу создать из этой программы фукцию с входными параметрами:
float pdk[3][21]={{4,15,19,20,58,26,25,27,29,37,34,2,35,32,40,43,46,45,49,51,54},{5,16,20,21,59,27,26,28,30,38,35,3,36,33,41,44,47,46,50,56,55},{6,17,21,22,60,28,27,29,31,39,36,4,37,34,42,45,48,47,51,57,56}};
int r=0;
int N=21;
И полуать из функции значения:
float dmax, float dmin, float d[6].
Заранее спасибо! Можете привести какой-то свой пример, который возвращает несколько значений. Я догадалась как написать заголовок:
float graf(float pdk[3][21], int r, int N) {
}
а как вернуть несколько значений? и как постоить график в фукции, выводиться ошибка в строках :
Series1->Clear();
for (i=0; i<6; i++) {
Series1->AddY(d[i],(String)(d[i]), clTeeColor);
}

Приложение:

Отправлен: 12.11.2007, 16:20
Вопрос задала: Mart (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Воробьёв Алексей Викторович
Здравствуйте, Mart!

Задача не совсем понятна, потому отвечу не на все вопросы:

Есть несколько методов возвратить несколько значений из функции.
Самый предпочтительный через задание параметров как ссылок или указателей:

void graf(float pdk[3][21], int r, int N, float& dmax, float &dmin, float *d)
{
//Внутри функции работаете с такими параметрами как с обычными переменными
dmax=pdk[0][0];
dmin=pdk[0][0];
}
Для вызова фукнции делаете следующее

float dmax, dmin, d[6];
graf(pdk, r, N, dmax, dmin, d);

Другие методы: завести структуру

struct graf_result
{
float dmax, dmin, d[6];
};

Теперь можно либо передавать адрес структуры в функцию через указатель или ссылку:

void graf(float pdk[3][21], int r, int N, graf_result *d); или
void graf(float pdk[3][21], int r, int N, graf_result& d);

Наконец, можете возвращать эту структуру:

graf_result graf(float pdk[3][21], int r, int N);

К сожалению Вывод графика это гораздо более трудоёмкая задача и из Вашего вопроса не ясно с какой программной средой Вы работаете и в какой компонент Вы собираетесь осуществлять вывод.
Ответ отправил: Воробьёв Алексей Викторович (статус: Студент)
Ответ отправлен: 17.11.2007, 11:31
Оценка за ответ: 5


Вопрос № 109.155
Уважаемые эксперты. Хелп. Упорно не понимаю почему не хочет компилироваться код.

Ошибка
error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR'

Вижуал Студио 2005

Грандмерси

Приложение:

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

Отвечает: CruelHity
Здравствуйте, Chip!
Вопрос вы конечно задали чут не туда!
вам надо в системное программирование!
Но у вас ошибка переводе с кодировкой в Unicode! может вы где-то поставили в параметрах проэкта кодировку Unicode! посмотрите! У меня работает нормально, без ошибок!
Попробуйте изменить текст "Простейшая программа!" на "Simple Application" и должно заработать!!!
или пропишите так
MessageBoxW(NULL,(LPCWSTR) "Простейшая программа!",(LPCWSTR)"WinAPI App", 0);
советую вам скачать книгу
"Джеффри РИХТЕР
Создание эффективных WIN32-приложений
с учетом специфики 64-разрядной версии Windows"
там хорошо описываеть unicode!
Удачи!
Ответ отправил: CruelHity (статус: 4-ый класс)
Ответ отправлен: 13.11.2007, 03:55
Оценка за ответ: 5
Комментарий оценки:
Проблема и правда в Юникоде. Хотя если вместо изменить текст "Простейшая программа!" на "Simple Application" ошибка не исчезнет :(

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

Добавьте L перед строками, чтобы сказать компилятору, что это UNICODE-строка

MessageBox(NULL, L "Простейшая программа!", L "WinAPI App", 0);
Ответ отправил: Vas177 (статус: 1-ый класс)
Ответ отправлен: 13.11.2007, 09:50
Оценка за ответ: 5
Комментарий оценки:
Помогло справится с квадратиками вместо букв

Отвечает: Алексей Демаков
Здравствуйте, Chip!

Ответ весьма просто находится гуглом.

Цитирую:

Дело в том, что 2005 студия по умолчанию использует юникод (LPWSTR)
, поэтому либо в основных настройках ставишь Use Unicode Character Set. А лучше
LPTSTR szClassName[ ] = TEXT("WindowsApp");
этим ты продоставляешь компилятору самому подставить нужный тип в зависимости от настроек.
для юникода это будет
LPWSTR classname[] = L"tralyalya";
для мультибайтного
LPSTR classname[] = ''tralyalya';
Ответ отправил: Алексей Демаков (статус: Студент)
Ответ отправлен: 13.11.2007, 09:57
Оценка за ответ: 5
Комментарий оценки:
Спасибо. ПРосто сначало даже не знал в какую сторону копать. Надо было просто поискать инфу по типу ошибки

Отвечает: Титов Михаил Анатольевич
Здравствуйте, Chip!

Проблема в использовании студией кодировки UNICODE. Поставте в параметрах прооекта

Configuration PropertiesGeneralCharacter Set = Not Set

и всё скомпилируется.
Ответ отправил: Титов Михаил Анатольевич (статус: 3-ий класс)
Ответ отправлен: 14.11.2007, 05:22


Вопрос № 109.177
Короче, помогите плиз сделать задачу по программированию (С++).
Ток плиз напишите все как для новечка :)))

Вот задача:
Даны целые числа массива А[10],В[10]изначения P и Q.
Каждый массив преобразовать по правилу: компотенты с четными номерами,
предшествующие наибольшему компоненту6 ма6ссива, заменить на значение
R (для массива А) и значение F (для массива В).

Зарание спс:)))
Считать, что в каждом массиве наибольший компонент единственный.
Отправлен: 13.11.2007, 09:34
Вопрос задал: Александер Александров (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Boriss
Здравствуйте, Александер Александров!
Абсолютно все объяснять, наверно, долго и времени нет. Да и учебники есть во всех видах
Начнем так: в приложении код программы, которая пройдет на любом С, поскольку написана на "классическом" С.
Посмотрите. Что не понятно, спрашивайте в минифоруме этого вопросы

Приложение:

---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: mte
WWW: Программирование на Паскале
----
Ответ отправлен: 13.11.2007, 12:03
Оценка за ответ: 5
Комментарий оценки:
Спасибо)))

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

Держите!...
Структура программы:
1) вводим массив А,В; при вводе сразу ищем максимальную компоненту и её индекс в массиве.
2) Идём по чётным компонентам, которые находятся перед максимальной компонентой и заменям элементы массивов А,В на введенные значения P,Q.
3) Выводится результат.

Успехов!

Приложение:

---------
"The more you know, the less you need to show"

Ответ отправил: Гальцов Андрей (статус: Студент)
Ответ отправлен: 13.11.2007, 20:36
Оценка за ответ: 5
Комментарий оценки:
Спасибо)))

Отвечает: Титов Михаил Анатольевич
Здравствуйте, Александер Александров!

Программа в приложении, но что там у вас вся группа будет сюда ходить домашние задания делать? (Вопросы 109072, 109018, 109013). В последний раз ...

Приложение:

Ответ отправил: Титов Михаил Анатольевич (статус: 3-ий класс)
Ответ отправлен: 14.11.2007, 07:16


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

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

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

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

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


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


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

В избранное