Вопрос № 93103: Помогите срочно нужно составить цикл с постусловием , произведение положительных элементов массива....Вопрос № 93145: Здравствуйте, подскажите как толкова написать обработчик ошибок (Visual C++).
Есть некое текстовое поле (textbox) в которое вводятся числа (к примеру, штук 5) через определённый разделитель (split, переменная в которой хранится некий символ - раз...Вопрос № 93151: Добрый день. Мне нужно написать доклад на тему: "Инструменты и методы оценки быстродействия". Мне нужна ваша помощь, подскажите с чего начинать, о чем писать, и как можно измерить время выполнения программы в тактах процессора...Вопрос
№ 93191: как в Visual C++ 2003 в приложение сгенерированное как диалоговое приделать стандарное меню....
Вопрос № 93.103
Помогите срочно нужно составить цикл с постусловием , произведение положительных элементов массива.
Отвечает: Ross
Здравствуйте, Сорокина Ольга Николаевна!
Решение в приложении. Удачи
Приложение:
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 27.06.2007, 22:10
Отвечает: Попов А.С.
Здравствуйте, Сорокина Ольга Николаевна!
Смотрите в приложении
Приложение:
Ответ отправил: Попов А.С. (статус: 1-ый класс)
Ответ отправлен: 28.06.2007, 06:10
Отвечает: Olegzp
Здравствуйте, Сорокина Ольга Николаевна!
//---------------------------------------
#define Count 20 // Задаем размер массива
...
int Index,Result;
int Array[Count];
Index = 0;
do{
If( Array[Index] > 0 ) Result = Result * Array[Index];
Index++
}while( Index < Count )
Ответ отправил: Olegzp (статус: 3-ий класс)
Ответ отправлен: 28.06.2007, 12:02
Вопрос № 93.145
Здравствуйте, подскажите как толкова написать обработчик ошибок (Visual C++).
Есть некое текстовое поле (textbox) в которое вводятся числа (к примеру, штук 5) через определённый разделитель (split, переменная в которой хранится некий символ - разделитель, например, «;»). Так вот, каким образом можно проверить введённые числа, перед выполнением операций над этими данными, на корректный ввод? И в случае чего вывести на экран сообщение о некорректном вводе данных.
Например (правильный ввод данных): 5,01; 4,78; 7; -184; 0,33
(неправильный ввод данных): 5,01; вау; 7; -184; 0,33
(неправильный ввод данных): 5.01; 4,78; 7; -184; 0,33
Точка вместо запятой в первом дробном числе.
Отправлен: 28.06.2007, 01:13
Вопрос задал: Vckaif (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Fenixk19
Здравствуйте, Vckaif!
В C есть набор функций, определенных в хидере ctype.h, которые проверяют типы символов. В вашем случае нужно использовать функцию isalpha для проверки наличия букв. Еще я бы сделал так, чтобы перед анализом из записи удалялись все пробелы. А еще можно сделать перевод числа посредством atoi(или какой-то модификации для дробных чисел). В случае неудачи эта функция возвращает ноль. Таким образом тоже можно проверить правильность.
Ответ отправил: Fenixk19 (статус: 3-ий класс)
Ответ отправлен: 28.06.2007, 02:29 Оценка за ответ: 3 Комментарий оценки: Спасибо за ответ, но это не то, что я спрашивал. Я спрашивал, как самому написать обработчик ошибок, а не использовать стандартные функции
Отвечает: Ross
Здравствуйте, Vckaif!
Давайте сначала сформулируем что же именно является правильным вводом:
1.Значение должно содержать только цифры, символы ',' '+' '-'
2.Символы '+' и '-' могут находиться только на первом месте в строке
3.Символ ',' может находиться на любом месте кроме первого и последнего и только в одном экземпляре
В соответствии с этими правилами можно написать функцию проверки (возможный вариант в приложении)
Кстати говоря, если вы собираетесь в дальнейшем переводить строковые значения в числовые (например функцией atoi), то все же правильнее использовать в качестве разделителя целой и дробной части точку, а не запятую. А для вывода сообщения об ошибке можно использовать например функцию MessageBox
Приложение:
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 28.06.2007, 02:39 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ. Судя по описанию это то, что мне нужно. Правда из-за незнания векторов окончательный разбор вашего ответа немного затянется.
Вопрос № 93.151
Добрый день. Мне нужно написать доклад на тему: "Инструменты и методы оценки быстродействия". Мне нужна ваша помощь, подскажите с чего начинать, о чем писать, и как можно измерить время выполнения программы в тактах процессора
Отправлен: 28.06.2007, 03:17
Вопрос задал: Platon (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Boriss
Здравствуйте, Platon!
Конечно, считать тики - это прошлый век. Есть две функции:
QueryPerformanceFrequency и QueryPerformanceCounter. Вторая считывает показания счетчика производительности, первая - частоту.
В приложении пример консольного приложения, которое определяет длительность одной элементарной операции
SetThreadAffinityMask(GetCurrentThread(), 1); - на случай, если у Вас несколько процессоров
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 29.06.2007, 11:07
Вопрос № 93.191
как в Visual C++ 2003 в приложение сгенерированное как диалоговое приделать стандарное меню.
Отвечает: Jadd
Здравствуйте, Афанасьев Михаил Владимирович!
А очень просто. Создаем в ресурсах менюшку. Называем ее, например IDR_MENU1. Далее пишем в OnInitDialog: