Итерирование по массиву с использованием цикла в c ++ и программа говорит "выход из состояния -1"? - PullRequest
1 голос
/ 16 апреля 2019

Так что я пытаюсь освоиться с массивами для моих заданий HW. У меня есть две петли. Первый цикл повторяет последовательность, это хорошо, и я думаю, что я не знаю. Затем второй цикл должен отображать все входные данные, введенные пользователем, в зависимости от того, насколько велик размер size_of_array (в данном случае это 5, так что пользователь должен проехать 5 машин).

Когда я запускаю его, первая часть работает просто отлично с точки зрения ввода ввода, но вторая часть F R E A K S выходит и дает мне "exit status -1" wtf?!?!?! ??!

Ценю помощь:

#include <iostream>
using namespace std;

int main() 
{
  int size_of_array = 5;
  string ideal_cars[size_of_array];
  int count;

  for (count = 1; count <= size_of_array; count++)
  {
    cout << "Enter car number " << count << "." << "\n";
    cin >> ideal_cars[count];
  }

  for (count = 0; count <= size_of_array; count++)
  {
    cout << "You entered " << ideal_cars[count] << ".";
  }


}

1 Ответ

0 голосов
/ 16 апреля 2019

Первый индекс массива равен 0, поэтому, когда size_of_array равен 5, возможные индексы равны 0, 1, 2, 3, 4.

  • 1-й элемент - ideal_cars[0].
  • 2-й элемент ideal_cars[1].
  • 3-й элемент ideal_cars[2].
  • 4-й элемент ideal_cars[3].
  • Пятый элемент - ideal_cars[4].

ideal_cars[5] вне диапазона и не допускается.Графическую иллюстрацию см. http://www.cplusplus.com/doc/tutorial/arrays.

Так что в цикле for необходимо убедиться, что count меньше и не равно size_of_array:

for (count = 0; count < size_of_array; count++)

Пример:

#include <iostream>

using namespace std;

int main() 
{
  int size_of_array = 5;
  string ideal_cars[size_of_array];
  int count;

  for (count = 0; count < size_of_array; count++)
  {
    cout << "Enter car number " << count << "." << endl;
    cin >> ideal_cars[count];
  }

  for (count = 0; count < size_of_array; count++)
  {
    cout << "You entered " << ideal_cars[count] << "." << endl;
  }
  return 0;
}

Демо: https://ideone.com/LWbSeu.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...