#include <iostream>
using namespace std;
int main()
{
int size = 0;
int* myArray = new int [size + 1];
cout << "Enter the exponent of the first term: ";
cin >> size;
cout << endl;
for (int i = size; i >= 0; --i)
{
cout << "Enter the coefficient of the term with exponent "
<< i << ": ";
cin >> myArray[i];
}
for (int i = size; i >= 0; --i)
{
cout << i << endl;
}
return 0;
}
Почему я получаю ошибку утверждения при вводе более 2? Это предшественник полиномиальной программы, где индекс массива является степенью каждого члена, а элемент в массиве [индекс] - коэффициент.Почему я получаю ошибку утверждения?
Что в мире этот код пытается сделать? Вы инициализируете myArray как массив с только 1 int в нем, затем читаете размер и пытаетесь записать это произвольное местоположение в массиве? –
Спасибо всем! Первоначально я только что получил ошибку компиляции и инициализировал размер до 0, не думая очистить ошибку. Но это создало ошибку во время выполнения. Я исправил его, не инициализируя размер и выделяя myArray после ввода размера. Еще раз спасибо ребятам! – Brandon
@Brandon: Еще одна вещь: цикл for начинается с 'int i = size;', что будет недопустимым индексом. Он должен начинаться с 'size-1' – Naveen