Для ввода n элементов одномерного массива, назовем его А, требуется организовать цикл, для ввода каждого i – го элемента, где i=0,1,2, …, n–1. Аналогичный цикл требуется организовать и для вывода элементов массива. На рисунке 2.2 изображена графическая схема ввода и вывода элементов массива.
/* Ввод – вывод статического массива*/ #include <stdio.h> #define m 50; void main() { int n, i; float A[m]; puts("Введите число элементов массива "); scanf("%d",&n); // Ввод массива for (i=0; i<n; i++) { printf("Введите число A[%2d]=",i); scanf("%f",&A[i]); } // Вывод массива puts("Массив A"); for (i=0; i<n; i++) printf("%6.3f ", A[i]); printf("\n"); } |
Рисунок 2.2 Алгоритм и программа ввода – вывода статического одномерного массива
Ввод–вывод динамического массива осуществляется по тому же алгоритму. Из приведенного ниже примера программы ввода и вывода динамического массива видно, что отличие заключается лишь в описании массива.
/* Ввод – вывод динамического массива*/
#include <stdio.h>
void main()
{
int n,i;
puts("Введите число элементов массива a");
scanf("%d",&n);
float *a=new float[n]; // Описание динамического массва
// Ввод массива
for (i=0;i<n;i++)
{ printf("Введите число a[%2d]=",i);
scanf("%f",a+i); // или scanf("%f",&a[i]);
}
// Вывод массива
puts("Массив a");
for(i=0;i<n;i++)
printf("%.3f ",*(a+i)); // или printf("%.3f ",a[i]);
printf("\n");
delete[] a; // Освобождение памяти, выделенной под массив
}