Обозначение указателя и массив

(C ++) Моя программа должна заставить пользователя вводить числа, которые будут определять размер массива и его элементы. Затем мне нужно отсортировать элементы в порядке возрастания. Моя проблема всегда, когда я запускаю свою программу, и она отображает отсортированные числа; вместо этого он отображает адрес (если я прав).

    #include <iostream>
using namespace std;int main()
{

int size;
int i,x,tempVar;
cout << "Enter how many students took the test: ";
cin >> size;
int *myArray = new int [size];

for  ( i = 0; i < size; i++)
{
cout << "Enter a score:  ";
cin >> myArray[size];
}

for ( i = 0; i < size; i++)
{
for ( x = 0; x < size; x++)
{
if (myArray[i] < myArray[x])
{
tempVar = myArray[i];
myArray[i] = myArray[x];
myArray[x] = tempVar;
}
}
}

cout << "The scores have been sorted out in an ascending order\n";
for (i = 0; i < size; i++)
{
cout << *(myArray + i) << endl;
}

delete [] myArray;
}

0

Решение

Это не показывает адреса; это, вероятно, показывает значения мусора, так как у вас есть:

cin >> myArray[size];

вместо

cin >> myArray[i];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]