Другие языки программирования и технологии

Еще один вопрос по С++ (синтаксис)

Вот нужно мне ввести в массив из n элементов каие то числа (вручную с клавиатуры) Но то что я написал, видимо не правильно, т.к. в массив числа не заносятся. Как правильно? вот неправильный алгоритм for (int i=1; i<=n; i++) { printf("Введите [%d] = ", i); scanf ("%d", &A); }
I Lost
I Lost
1 709
Да в принципе все правильно

int n = 5;
int *A = new int[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &A[ i ]);
}
for (int i = 0; i < n; i++)
{
printf("A[%d] = %d\n", i, A[ i ]);
}
delete [] A;

Только индекс в цикле нужно делать не от 1 до n, а от 0 до n - 1
DZ
Didar Zhumabaev
21 360
Лучший ответ
I Lost delete [] A;
А что это значит? Удаление всех элементов массива?

Спасибо большое.
используй отдельную переменную и присваивай ее.
нумерация в массиве идет от нуля
## Slavik ##
## Slavik ##
3 755
I Lost сделал но не получилось
вообще ошибка в окне появляется и все повисает
setlocale(LC_ALL, "Russian");
printf ("Введите число элементов массива \n");
int n;
scanf ("%d", &n);
int A[100], z;

for (int i=1; i
А - массив из n элементов? Тогад так

for (int i = 1; i < n; i++)
{
printf("Введите [%d] = ", i);
scanf ("%d", &A );
}

Функции сканф нужно передать указатель на ту ячейку памяти, кудо хочецо записать число.... А ты каждый раз передаёшь указатель на начало массива, и твоё число каждый руз будет записыватья в первый его элемент.. .

Хотя, кстати, вопрос тем кто будет отвечать ниже - ведь имя массива - это указатель на него. В таком случае, куда будет записываться число при scanf ("%d", &A ); ? По-моему всё равно в первый элемент, но всё же.... может я ошибаюсь?

p.s. ВОзможно будет работать и такой код:

for (int i = 1; i < n; i++)
{
printf("Введите [%d] = ", i);
scanf ("%d", А + i );
}

И ещё, убедись что у тебя массив называеться "А", а не "а", так как C чувствителен к регистру
Aibek Ibragimov
Aibek Ibragimov
919