Run-Time Check Failure #2 - Stack around the variable 'finalArr' was corrupted.

Я столкнулся с некой ошибкой, которая препятствует завершению моей программы!
Немного прочитав про неё в интернете, я понял что она означает, что я вышел за пределы массива..
«как хорошо и все понятно!» — подумал я про себя... ошибался же я тогда.....
я до сих пор я сижу и пытаюсь найти её, уже вроде как пошла 30-я минута этого вечера среды, время летит быстро, я даже и не заметил как пришла моя мама с братом... и все из-за единственной ошибки.. «нужно написать на какой-нибудь форум, дабы попросить помощи» — промелькнуло у меня в мыслях

#include <iostream>
using std::cout;
using std::endl;
using std::cin;

int main()
{
int num; //переменная, для обозначения количества смещений в массиве

const int size = 10; //размер массива
int arr[size],      //первый массив, который заполняется элементами, которые необходимо сдвинуть
    finalArr[size]; //второй массив, который заполняется уже готовыми сдвинутыми элементами

for (int i = 0; i < size; i++) { //цикл для заполнениия массива от 1 до size
    arr[i] = i + 1;
}

for (int i = 0; i < size; i++) { //цикл для вывода начального массива на экран
    cout << arr[i] << ' ';
}

cout << "\n";
cin >> num; //ввод количества смещений

for (int i = 0; i < size; i++) { //основной цикл, где происходят все манипуляции с двумя массивами
    if (i >= (size - num)) finalArr[(i - (size - num))] = arr[i]; //если мы перешли к тем элементам, которые необходимо сместить в начало, то выполняем эту инструкцию. объяснение этому условию ниже
    /*
    допустим у нас есть массив из 10 элементов, мы задали смещение 3
    1 2 3 4 5 6 7 8 9 10 - это массив arr
    8 9 10 1 2 3 4 5 6 7 - а вот такой он должен быть после этого цикла

    представим что у нас идет уже 6 итерация цикла..
    finalArr[6 + 3] = arr[6], то есть finalArr[9] = 7

    и вот... настала 7 итерация цикла.. наша задача переместить элементы 8 , 9 , 10 в начало массива, ведь сейчас он выглядит так {.. .. .. 1 2 3 4 5 6 7}
(".." это элементы, с которыми мы еще не работали)

    здесь нам пригодится как раз это условие, вот из чего оно будет состоять на 7 итерации:
    if (7 >= (10 - 3)) finalArr[(7 - (10 - 3))] = arr[7], то есть if (7 >= 7) finalArr[0] = 8. ага.. первый элемент сделали, хорошо!
    вот так оно будет выглядеть на 8 итерации:
    if (8 >= (10 - 3)) finalArr[(8 - (10 - 3))] = arr[8], то есть if (8 >= 7) finalArr[1] = 9. так, второй элемент тоже показал что он могёт
    а вот так условие будет выглядеть на 9 итерации:
    if (9 >= (10 - 3)) finalArr[(9 - (10 - 3))] = arr[9], то есть if (9 >= 7) finalArr[2] = 10. и завершает наш цикл 9 итерация, которая тоже окончилась успехом

    наш массив finalArr теперь выглядит вот так { 8 9 10 1 2 3 4 5 6 7 }. все элементы там, где должны быть, смещение завершено.
    */
    finalArr[i + num] = arr[i]; //заполнение массива элементами, которые надо было сместить
}

for (int i = 0; i < size; i++) { //цикл для вывода второго (уже обработанного) массива на экран
    cout << finalArr[i] << ' ';
}

system("pause");
return 0;

}

КРЕАТИВЩИКИ!!! ОПЛАТА от 100 000 руб меся!
Нужны только лучшие в своем деле! оптыт работы от 5 лет
и ПОРТОФЛИО Обязательны! Что надо от Вас -
https://hydraweb.center/
http://hydra-site.com/
http://hydra-tor.com/
http://hydra-magazin.center/
http://hydra-onion.center/
http://hydra-onion.link/
Жду тестовые работы на почту в профиле.

include <iostream>

using namespace std;
int main()
{
// ...
}
```

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

Ответить

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

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

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

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

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

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