Вопрос № 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 :)
Отвечает: 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.
Здавствуйте, подскажите новичку. Как создать функцию в С++. Текст программы прилагается, он строить график типа 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 Комментарий оценки: Помогло справится с квадратиками вместо букв
Дело в том, что 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 (для массива В).
Зарание спс:)))
Считать, что в каждом массиве наибольший компонент единственный.
Отвечает: 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