Форум программистов, компьютерный форум CyberForum.ru

Написать функцию, которая переводит введенную пользователем маленькую букву в большую - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу разобраться! http://www.cyberforum.ru/cpp-beginners/thread103539.html
кто нибудь помогите пожалуйста разобраться в этом коде: ulong s_matrix(ulong64 v) { static ulong s1 = { 14 << 28, 4 << 28, 13 << 28, 1 << 28, 2 << 28, 15 << 28, 11 << 28, 8 << 28, 3 << 28, 10 << 28, 6 << 28, 12 << 28, 5 << 28, 9 << 28, 0 << 28, 7 << 28, 0 << 28, 15 << 28, 7 << 28, 4 << 28, 14 << 28, 2 << 28, 13 << 28, 1 << 28, 10 << 28, 6 << 28, 12 << 28, 11 << 28, ...
C++ Необходимо найти квадрат числа в данном числе - Есть ошибка, но не могу ее найти... Дано некоторое число (a). Необходимо найти наибольшее число, квадрат которого содержится в данном нам числе. Написанный мной вариант данной программы не работает. При попытке компиляции выдается сообщение об ошибке. Но я не могу ее отыскать :scratch: Помогите, пожалуйста, с её отысканием (и желательно, исправлением)! #include<iostream> #include<cmath> using namespace std; int... http://www.cyberforum.ru/cpp-beginners/thread103523.html
C++ try
Пользоваться tryем, представьте себе, начинаю. Может ли обработчик исключения получить указатель на его источник (функцию/операцию, в которой произошло исключение) или иную информацию о месте возникновения исключения? Можно ли в заголовке cathа указать два типа (для обработки исключений, возникающих в операциях с операндами разных типов)? Какие исключения отбрасывать throwем и что вернуть вторым...
setParam C++
кто знает как работать с setParam????????? Добавлено через 13 часов 0 минут помогите, очень срочно
C++ Запись структур в файл http://www.cyberforum.ru/cpp-beginners/thread103504.html
У меня есть файл и масив структур. Надо реализовать запись и чтения файла. Можна ли сделать так: запускаю первый раз програму, ввожу дание в файл, потом, при последующих запусках чтобы масив розширался, в зависимости от количества структур, что я ввел??? Добавлено через 1 час 12 минут Есть у кого мысли???
C++ Определить, входят ли в состав заданной строки цифры Здравствуйте. 1.Дана строка символов до точки.Определить,входят ли в состав заданной строки цифры.Сформировать из них новую строку. 1.Дана строка символов до точки.Вывести её на экран задом наперёд без пробелов. При этом,нужно использовать функции библиотеки string.h и т.к. указано,что строка задаётся до точки,необходимо обрезать строку,отбросив все символы после точки. Язык - С. подробнее

Показать сообщение отдельно
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
14.03.2010, 16:50
Функциональность

В абсолютном большинстве языков программирования, поддерживающих его использование, оператор GOTO состоит из двух частей: собственно имени оператора и метки, маркирующей целевую точку перехода в программе, то есть имеет вид GOTO метка. Метка, в зависимости от правил языка, может быть либо числом (как, например, в классическом Бейсике), либо правильным идентификатором используемого языка программирования. Чтобы оператор перехода был корректным, необходимо наличие в тексте программы места, помеченного той же самой меткой, которая использована в данном операторе. Пометка может выглядеть по-разному, например, в языке Паскаль она имеет вид метка: (то есть имя метки, за которым следует двоеточие), возможны и другие соглашения.
Выполнение оператора перехода состоит в том, что следующим после него будет выполнен тот оператор программы, который стоит в тексте непосредственно за помеченным меткой местом (оператор, помеченный меткой), и далее будут последовательно выполняться операторы, расположенные после него (разумеется, до следующего оператора перехода, ветвления или цикла). В случае машинных языков (ассемблеров или непосредственно машинного кода) технический смысл команды перехода элементарен: она записывает в регистр процессора, хранящий адрес следующей выполняемой команды, адрес команды, помеченной меткой.
[править] Распространение

GOTO имеется в таких языках, как Фортран, Алгол, КОБОЛ, Бейсик, Си, C++, D, Паскаль, Perl, Ада, PHP, а также во многих других. GOTO присутствует также во всех языках ассемблера в форме JMP, JUMP или BRA (от англ. branch — ветвь) и используется там чрезвычайно активно. Свобода использования оператора GOTO в различных языках сильно различается. Если в ассемблерах или языках типа Фортрана он может применяться произвольно (допускается передача управления внутрь ветви условного оператора или внутрь тела цикла, а иногда и процедуры), то в более поздних языках высокого уровня его использование ограничено: как правило, с помощью GOTO запрещено передавать управление между различными процедурами и функциями, внутрь выделенного блока операторов, между ветвями условного оператора и оператора множественного выбора.
GOTO отсутствует в некоторых языках высокого уровня, например в Forth (но может быть реализовано средствами самого языка). В Паскаль GOTO первоначально включён не был, но недостаточность имеющихся языковых средств вынудила Никлауса Вирта его добавить. В более поздних своих языках Вирт всё же отказался от GOTO: этого оператора нет ни в Модуле-2, ни в Обероне и Компонентном Паскале. В Java есть зарезервированное слово goto, но оно не несёт никаких функций — оператора безусловного перехода в языке нет. При этом в языке сохранились метки — они могут применяться для выхода из вложенных циклов операторами break и continue.
[править] Критика

Оператор GOTO в языках высокого уровня является объектом критики, поскольку чрезмерное его применение приводит к созданию нечитаемого «спагетти-кода». Впервые эта точка зрения была отражена в статье Эдсгера Дейкстры «Доводы против оператора GOTO»[1], который заметил, что качество программного кода обратно пропорционально количеству операторов GOTO в нём. Статья приобрела широкую известность как среди теоретиков, так и среди практиков программирования, в результате чего взгляды на использование оператора GOTO были существенно пересмотрены. В своей следующей работе Дейкстра обосновал тот факт, что для кода без GOTO намного легче проверить формальную корректность.
Код с GOTO трудно форматировать, так как он может нарушать иерархичность выполнения (т.е. парадигму структурного программирования), и потому отступы, призванные отображать структуру программы, не всегда могут быть выставлены правильно. GOTO также аннулирует многие возможности компилятора по оптимизации управляющих структур[2].
Доводы против оператора GOTO оказались столь серьёзны, что в структурном программировании его стали рассматривать как крайне нежелательный. Это нашло своё отражение при проектировании новых языков программирования. Например, GOTO был намеренно полностью запрещён в Java и Ruby. Вместе с тем, в Аде — одном из наиболее продуманных с точки зрения архитектуры языке за всю историю[3], GOTO всё же был оставлен.
Формально доказано, что применение GOTO не является обязательным (то есть не существует такой программы с GOTO, которую нельзя было бы переписать без этого оператора с полным сохранением функциональности) (однако с потерями эффективности (см. ниже)).
[править] Оправданное применение

Тем не менее, в практическом программировании применение GOTO в некоторых случаях можно считать допустимым. Поскольку GOTO — «простейший», «атомарный» оператор перехода, а все остальные являются «составными», производными от него, то применение GOTO допустимо и оправданно, когда другие средства языка не реализуют или недостаточно эффективно реализуют нужную функциональность. К таким случаям можно отнести:
[править] Выход из нескольких вложенных циклов сразу

Обычно считается, что в языках, где операторы досрочного завершения цикла (такие, как break и continue в Си) могут относиться только к тому из вложенных циклов, в котором они расположены, использование goto допустимо, чтобы выйти из нескольких вложенных циклов сразу. Здесь GOTO значительно упрощает программу, избавляя от необходимости создания вспомогательных переменных-флагов и условных операторов.
Другие варианты решения этой проблемы — помещение вложенных циклов в отдельную процедуру и использование команды досрочного выхода из процедуры, а в языках с поддержкой исключений — генерацию исключения, обработчик которого располагается за пределами циклов. Однако подобные решения могут снижать производительность, в особенности если этот участок кода вызывается многократно (поскольку и вызовы процедур, и операторы работы с исключениями транслируются далеко не в одну машинную инструкцию).
Пример:
int matrix[n][m];
int value;
...
for(int i=0; i<n; i++)
for (int j=0; j<m; j++)
if (matrix[i][j] == value)
{
printf("value %d found in cell (%d,%d)\n",value,i,j);
//act if found
goto end_loop;
}
printf("value %d not found\n",value);
//act if not found
end_loop: ;


 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru