Вопрос № 78064: Здравствуйте уважаемы эксперты, у меня возник вопрос, как можно поменять цвет шщрифта в программах консоли.
Если можно, пожалуйста выложите исходники плз....Вопрос № 78119: Приветствую Вас, о, властелины нулей и единиц!
Прошу мудрого совета.
Моя программа (на C++ Builder 6.0) курсового проекта должна будет строить графики функций (только некоторых типов). Можно, конечно, использовать специальные средс...Вопрос № 78184: Подскажите пожалуйста, существует ли способ возвратить массив из функции...
Вопрос № 78.064
Здравствуйте уважаемы эксперты, у меня возник вопрос, как можно поменять цвет шщрифта в программах консоли.
Если можно, пожалуйста выложите исходники плз.
Отвечает: Fenixk19
Здравствуйте, Евгений Терентев!
Сам интересовался данным вопросом. Язык C++ не имеет встроенных средств(разве что эскейп последовательности, но они почему-то не работают на VC). В турбо сях есть свой набор функций для подобных целей(SetTextColor, например). В WinApi тоже есть свои функции(пример:http://www.daniweb.com/code/snippet83.html). Еще многие советуют использовать библиотеку ncurses, хотя странно было бы осваивать библиотеку ради пары цветных надписей )).
Ответ отправил: Fenixk19 (статус: 3-ий класс)
Ответ отправлен: 14.03.2007, 01:06
Вопрос № 78.119
Приветствую Вас, о, властелины нулей и единиц!
Прошу мудрого совета.
Моя программа (на C++ Builder 6.0) курсового проекта должна будет строить графики функций (только некоторых типов). Можно, конечно, использовать специальные средства для этого, но соль в том, что я должен реализовать это голыми руками, с нуля. Пользователь выбирает нужный ему тип функции и вводит ее в текстовом виде по правилам записи математически выражений, согласно шаблону.
Раздумываю над тем, как оформить алгоритмы выделения коэффициентов и проверку на ошибки ввода введенной функции. Не подбросите ли идею, каким макаром это будет удобнее и проще реализовать (взяв для примера параболу – a*x*x+b*x+c)? Если Вас не затруднит, то сопроводите ответ какими-нибудь набросками.
Предлагаю такой алгоритм:
1.Запоминаем введенную функцию
2.Проверяем на правильность
3.Табулируем ее на отрезке
4.Выводим на экран в виде графика.
Код парсера арифметичеких выражений выслал на мыло.
Обрати в нем внимание на функции calc(char * str,... - рассчитывает значение выражения str; is_valid - возвращает true, если выражение синтаксически верно; error - выводит текст ошибки, если таковая имеется.
С выводом на экран помочь к сожалению не смогу, т.к. с Buider'ом не работал. Если нужно, подумаю код для Visual C
Ответ отправил: Ross (статус: 6-ой класс)
Ответ отправлен: 15.03.2007, 00:39
Вопрос № 78.184
Подскажите пожалуйста, существует ли способ возвратить массив из функции
Отправлен: 14.03.2007, 01:51
Вопрос задал: Ufc (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Терсков Сергей
Здравствуйте, Ufc!
Конкретно массив нет. Но можно вернуть указатель на него (см. пример 1) или воспользоваться STL. Т.е. использовать класс vector (см. пример 2). По-моему второй вариант гораздо лучше, но это уже на ваше усмотрение.
Приложение:
Ответ отправил: Терсков Сергей (статус: 6-ой класс)
Ответ отправлен: 14.03.2007, 02:37 Оценка за ответ: 5
Отвечает: DragonTusk
Здравствуйте, Ufc!
Передать с функцию указатель на массив, и заполнять его внутри функции.
Ответ отправил: DragonTusk (статус: 3-ий класс)
Ответ отправлен: 14.03.2007, 10:22 Оценка за ответ: 5
Отвечает: Ilkras
Здравствуйте, Ufc!
Определить массив как возвращаемы тип функции невозможно (насколько я знаю). Однако можно определить структуру содержащую массив и этот тип может быть возвращаемым. Например:
typedef struct {
int Arr[10];
}NewType;
NewType func(int);
Ответ отправил: Ilkras (статус: 4-ый класс)
Ответ отправлен: 14.03.2007, 11:43 Оценка за ответ: 5
Отвечает: Thread
Здравствуйте, Ufc!
Конечно существует! Массив в С++ это по сути указатель на первый элемент этого массива, так что нужно просто вернуть указатель на первый элемент и все!
Ответ отправил: Thread (статус: 5-ый класс)
Ответ отправлен: 14.03.2007, 18:11 Оценка за ответ: 5