Программа работает, но в конце выдает эту ошибку:
Run-Time Check Failure #2 - Stack around the variable 'N' was corrupted.
Как решить и что это за ошибка?
//Определить, является ли шестизначное число "счастливым"
#include "pch.h"
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int N[6]; // шестизначное число
for (int i = 1; i < 7; i++)
{
cout << "Введите " << i << " цифру шестизначного числа\n";
cin >> N[i];
if (N[i] < 0 || N[i] > 9 || N[1] == 0 ) {
cout << "Ошибка!\n";
return 1;
}
}
system("cls");
if (N[1] + N[2] + N[3] == N[4] + N[5] + N[6]) {
cout << "\nВаше число ";
for (int i = 1; i < 7; i++)
{
cout << N[i];
}
cout << " является счастливым!\n\n";
}
else if (N[1] + N[2] + N[3] != N[4] + N[5] + N[6]) {
cout << "\nВаше число ";
for (int i = 1; i < 7; i++)
{
cout << N[i];
}
cout << " не является счастливым :(\n\n";
}
system("pause");
return 0;
}
int N[6]; // шестизначное число
for (int i = 1; i < 7; i++)
В языке C++ нумерация элементов массивов начинается с нуля, т.е. здесь
int N[6];
определен массив с элементами N[0]
,N[1]
,N[2]
,N[3]
,N[4]
,N[5]
.
Вы пытаетесь работать с элементом N[6]
, чем портите все впечатление от программы :) наряду с порчей памяти...
Задача популярнаяПросто нужно сделать бинарное возведение в степень по модулю
Создал я программу вывода меню, ну и выполнения действий по пунктам меню:
Есть бинарный файлНужно сделать проверку на пустоту, и если false, то очистить его
Есть решения по типу towupper для национальных страниц кодировки? из типа LPWSTR (wchar_t)