Ввод и вывод одномерного массива - C (СИ)
Формулировка задачи:
Объясните, пожалуйста, почему мой вариант не верен:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <clocale>
int main()
{
setlocale(LC_ALL, "Rus");
int i=0, ni;
printf("Введите количество элементов: ");
scanf_s("%d",&ni);
int *a=new int[ni];
for(i=0;i<ni;i++)
{
printf("Введите элемент a[%d] = ",i+1);
scanf_s("%f",&a[i]);
}
for(i=0;i<ni;i++){
printf("%d",&a[i]);}
system ("pause");
}Решение задачи: «Ввод и вывод одномерного массива»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
int n, i;
float *mas;
do
{
printf("Enter razmer massiva: \n");
scanf("%d", &n);
if (n<=0)
printf("\aNeverno!. \n");
}
while (n<=0);
mas=(float*)malloc(n*sizeof(float));
for(i=0;i<n;i++)
{
printf("Enter %d element: ",i+1);
scanf("%f",&mas[i]);
}
printf("\nMassiv:\n");
for(i=0;i<n;i++)
printf("%.1f ",mas[i]);
free(mas);
getch();
}
Объяснение кода листинга программы
- Ввод и вывод одномерного массива
- Программа запрашивает у пользователя размер массива и проверяет его корректность
- Если размер массива корректен, программа запрашивает у пользователя значения элементов массива
- Выводит на экран полученный массив
- Освобождает память, выделенную под массив