Massiw

Здравствуйте!Я в программирование новичок вот написал простую программу но компилятор
выдает ошибку
Run-Time Check Failure #2 — Stack around the variable 'arr' was corrupted.
В чем проблема не поможете?
Вот и сам код программы

include<iostream>

include<cstdlib>

include<ctime>

using namespace std;

int main()
{
setlocale(LC_ALL, «Ru»);
srand(time(NULL));

const int Han = 10;
int arr[Han];

for (int i = 0; i <Han; i++)
{
    arr[Han] = rand() % 14 + 7;
    cout << " массив равно = " << arr[Han] << endl;
}

}
Спасибо!

Привет!
Ты присваиваешь значения каждый раз элементу с индексом 10, а у тебя индексы от 0 до 9 (включительно).

arr[Han] = rand() % 14 + 7;

Скорее всего ты имел в виду

arr[i] = rand() % 14 + 7;

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.