Так что это для лабораторного задания, и оно у меня уже работает, но меня беспокоит одна вещь. Назначение включает в себя создание одномерного массива и последующее управление им. Я должен разрешить максимум 100 входов, но пользователю не нужно использовать все 100. Сейчас я использую оператор while, чтобы либо прервать, либо разрешить ввод другого ввода. Чтобы нарушить утверждение, вы должны ввести отрицательное число (это то, что мне не нравится и я хочу изменить). Какие есть еще варианты, чтобы завершить ввод пользователя, когда он введет свои номера? Можно ли завершить l oop после того, как вы нажмете Enter, ничего не печатая?
Я искал stackoverflow в течение последних 3 дней и нашел несколько интересных вещей, но так и не смог заставить его работать.
Обратите внимание, я понимаю, что функция void здесь избыточна, но это не имеет значения (если только она фактически не влияет на мою способность достичь того, чего я хочу).
Кроме того, заранее спасибо.
вот мой код (мой оператор while в основном) ... будьте добры, я новичок ie в кодировании.
#include <iostream>
using namespace std;
void reverseElements(int array[], int size)
{
int tmp;
int j;
int i = size;
j = i - 1;
i = 0;
while (i < j)
{
tmp = array[i];
array[i] = array[j];
array[j] = tmp;
i++;
j--;
}
cout << "I will now reverse the elements of the array." << endl;
cout << endl;
for (i = 0; i < size; i++)
{
cout << array[i] << " " << endl;
}
}
int main()
{
const int NUM_ELEMENTS = 100;
int iArr[NUM_ELEMENTS];
int i;
int myInput;
cout << "Enter your numbers, then enter a negative number to finish" << endl;
cout << endl;
for (i = 0; i < NUM_ELEMENTS; i++) //loop to obtain input
{
cin >> myInput;
if (myInput < 0) //checks for negative number to end loop
{
break;
}
else //continues to allow input
{
iArr[i] = myInput;
}
}
cout << endl;
reverseElements(iArr, i);
return 0;
}