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

Почему не происходит ошибка при обращении к недопустимому индексу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка. http://www.cyberforum.ru/cpp-beginners/thread149945.html
Добрый вечер! Решаю задачу, при компиляции ошибок нет, но при запуске, они появляются. Текст задачи и скриншот консоли прикреплены. Листинг: #include <iostream> #include <ctime> #define SIZE 512 // размер предложения. #define number 5 // размер массива указателей.
C++ Рассчитывается произведение минимального и максимального элемента ниже главной диагонали массовых Даны 2-мерных массовых X и Y . Рассчитывается произведение минимального и максимального элемента ниже главной диагонали массовых X-минимальный и максимальный элемент ниже главной диагонали Y.заменить местами максимальный елемент с минимальном. вот что у меня получилось: #define M 50 #include <iostream.h> #include <conio.h> int X,Y, m_act; void input_dim(); http://www.cyberforum.ru/cpp-beginners/thread149940.html
C++ работа с одномерным массивом! типа кальк
нужно сканировать одномерный символьный массив, в нем может быть например такое содержимое: 1+24-3+7+12-55 далее нужно сделать так чтобы 1,24,3,7,12,55 считывались в переменную как отдельные числа, после чего при нахождении '+'или'-' происходило соответственное прибавление или вычитание перед стоящего к послестоящему элементу. А при нахождении символа пробела или '\0' цикл...
C++ Обработка текста
1)Заменить в строке все целые константы из 1-2 цифр соответствующим повторением следующего за ними символа (например "abc5xacb15y" - " abcxxxxxacbyyyyyyyyyyyyyyy "). 2)"Перевернуть" в строке все слова. (Например: "Жили были дед и баба" - "илиЖ илиб дед и абаб"). 3)Заменить в строке символьные константы вида 'А' на соответствующие шестнадцатеричные (т.е. 'А' на 0x41, в константе использовать...
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread149935.html
1)Напечатать таблицу истинности для логической функции (A v B & C)v A 2)Объединить два упорядоченных по возрастанию массива a и b в массив c, упорядоченный по возрастанию. 3)Своими цифрами в массивах K(m) и L(m) заданы два целых числа в p-ичной системе счисления (p<0). Найти в таком же виде их сумму, не вычисляя самих чисел.
C++ Составить программу для подсчета среднего арифметического ненулевых ячеек прямоугольной таблицы Х, что состоит из M*N целых чисел, лежащих в диапазоне Составить программу для подсчета среднего арифметического ненулевых ячеек прямоугольной таблицы Х, что состоит из M*N целых чисел, лежащих в диапазоне . Сформировать матрицу с помощью генератора случайных чисел и организовать ее вывод на экран. Добавлено через 4 часа 43 минуты Помогите пожалуйста хоть кто-то!!!:cry: подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.12.2012, 13:03     Почему не происходит ошибка при обращении к недопустимому индексу
Цитата Сообщение от Nick Alte Посмотреть сообщение
Как видим, есть только проверка assert'ом, которая включается только при компиляции в отладочном режиме.
Но всё таки проверка есть, а режим мог быть и отладочный.

Добавлено через 3 минуты
Вот только при индексации с ноля <=size даст допустимость индекса сразу за концом строки. Видимо данная реализация std::string хранит на один символ больше, чем длина строки и реально последний символ всегда терминальный ноль. Тогда исключение на [0] и не должно выскакивать, так как в любой, даже пустой, строке всегда будет как минимум один символ, так как терминальный ноль - тоже символ и он есть в каждой, даже пустой, строке.
 
Текущее время: 06:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru