Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520

Присутствует ли в программе выход за границы массива

19.12.2018, 11:04. Показов 1641. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задача. Дано 3 числа (a, b, c) и массив. Нужно проверить есть ли в массиве значения a, b, c подряд.
Решение
C++
1
2
3
4
5
6
7
8
bool Check(int cnt, double *arr, double a = 1, double b = 2, double c = 3)
{
    for (int i = 0; i < cnt; i++)
        if (arr[i] == a && arr[i + 1] == b && arr[i + 2] == c) {
            return 1;
        }
    return 0;
}
Меня интересует, есть ли тут выход за границы массива. Точнее здесь :
C++
1
 if(arr[i] == a && arr[i + 1] == b && arr[i + 2] == c)
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2018, 11:04
Ответы с готовыми решениями:

Выход за границы массива
Помогите реализовать идею. Есть число, например, 001.002.003. Мне надо прочитать число до первой точки, и отправить в метод, потом до...

Выход за границы массива
#include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; void umnozh(int** arr, int n,int strings, int cols) { for (int i =...

Выход за границы массива
Здравствуйте. Пишу код для вывода одномерного массив, состоящий из колличества повторяющихся чисел в исходном одномерном массиве V. Но...

4
79 / 41 / 24
Регистрация: 03.02.2017
Сообщений: 116
19.12.2018, 11:30
Лучший ответ Сообщение было отмечено JohnBlack123 как решение

Решение

Зависит от того какое значение передаётся в переменную cnt. Если передаётся размер массива, то выход за границу есть.
А если передаётся "размер массива минус два", то нету.
1
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
19.12.2018, 11:35  [ТС]
Цитата Сообщение от Mohan Посмотреть сообщение
Зависит от того какое значение передаётся в переменную cnt. Если передаётся размер массива, то выход за границу есть.
А если передаётся "размер массива минус два", то нету.
Спасибо за ответ! А почему именно cnt-2? (размер массива - 2)
0
79 / 41 / 24
Регистрация: 03.02.2017
Сообщений: 116
19.12.2018, 11:42
Потому что ты на два элемента вперёд данные анализируешь.
[i + 2] на последней итерации и станет последним элементом массива, соответственно i в этот момент должен быть на 2 меньше, чтоб не выскочить за пределы массива.
0
 Аватар для JohnBlack123
215 / 162 / 52
Регистрация: 09.12.2017
Сообщений: 520
19.12.2018, 11:45  [ТС]
Большое спасибо. Теперь все ясно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2018, 11:45
Помогаю со студенческими работами здесь

Выход за границы массива
Найдите пожалустай в чем ошибка? ошибка времени выполнения индекс находится за границы массива program master4; Var a: array of...

Выход за границы массива
Нужно найти min элементы в исходной матрице и вывести в результат в отдельную матрицу using System; using System.Collections.Generic; ...

Выход за границы массива
Выход за пределы массива, как исправить, подобная вещь и в C# Sub pol(ByRef a() As Integer, ByRef b() As Integer, ByVal n As...

Выход за границы массива
Написал программу , которая подсчитывает количество слов, но она выдает ошибку : выход за границы масива,. В Чем может быть проблема? var...

Выход за границы массива
хочу создать массив, который наполняеться элементами введенными с клавиатуры. потом надо сравнить идут они по возростанию или нет. код ещё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru