Ответы Mail.ru: Почему в Визуал Студио с++ код работает правильно, но вылезает ошибка?

Ошибка в вашем коде возникает из-за выхода за пределы массива. В объявлении int arr[2][4]; указано, что массив содержит 2 строки и 4 столбца, но в циклах вы используете индексы до 3 и 5 соответственно:

 for (int i = 0; i < 3; i++) { // Здесь должно быть i < 2 
for (int j = 0; j < 5; j++) { // И здесь должно быть j < 4 
// ...  

Кроме того, выдача чисел больше 100 происходит из-за ошибки в расчете случайного числа. Выражение 10 + rand() % 100 может выдать число до 109, потому что % 100 дает числа от 0 до 99, а затем вы прибавляете 10. Для генерации чисел от 10 до 100 вам нужно использовать rand() % 91 + 10, чтобы получить числа от 0 до 90 и после прибавления 10 получить диапазон от 10 до 100.

Исправленный вариант кода:

 #include   
#include   
 
using namespace std;  
 
int main() {  
setlocale(LC_ALL, "RU");  
srand(time(nullptr));  
 
int arr[2][4];  
 
for (int i = 0; i < 2; i++) {  
for (int j = 0; j < 4; j++) {  
arr[i][j] = rand() % 91 + 10; // Исправлено здесь 
}  
}  
 
for (int i = 0; i < 2; i++) {  
for (int j = 0; j < 4; j++) {  
cout << arr[i][j] << endl;  
}  
}  
 
return 0;  
}  

После этих исправлений программа должна работать корректно, не выходить за пределы массива и генерировать числа в заданном диапазоне от 10 до 100.