Рассмотрим несколько примеров программ обработки одномерных массивов.
Пример 1. Ввод с клавиатуры и вывод на экран одномерного массива.
Программа:
//Ввод и вывод массива
#include <stdio.h>
#include <conio.h>
void main()
{ int i, A [ 5 ] ;
clrscr();
for(i=0; i<5; i++)
{ printf("\nA[%d]=",i);
scanf(“%d”, &A[i]); }
for(i=0; i<5; i++)
printf("\n A[%d]=%d”,i,A[i] );
}
Пример 2. Дан массив, содержащий N действительных чисел. Найти произведение элементов, меньших заданного числа X.
Решение:
блок-схема алгоритма приведена на рисунке 14.
Программа:
#include <stdio.h>
#include <conio.h>
const n=9;
void main()
{ int i, A [ n ] ,X,P=1;
clrscr();
for(i=0; i<n; i++)
{ printf("\nA[%d]=",i); scanf(“%d”, &A[i]); }
printf(“введи х”); scanf(“%d”,&X);
for(i=0; i<n; i++)
if (A[i]<X) P=P*A[i];
printf("\nP=%d”,P ); getch();}
Рисунок 14 – Блок-схема алгоритма решения задачи из примера 2
Пример 3.Пусть А[1],..., А[20] – количество осадков в миллиметрах, выпавшее в Минске в течение первых 20 лет каждого столетия. Вычислить среднее количество осадков и отклонение от среднего для каждого года.
Решение:
блок-схема алгоритма приведена на рисунке 15.
Программа:
#include <stdio.h>
#include <conio.h>
void main()
{ int i, A[20];
float X, SR=0;
clrscr();
for(i=0; i<20; i++)
{ printf("\n A[%d]=",i);
scanf(“%d”, &A[i]);
SR=SR+A[i] }
SR=SR/20;
for(i=0; i<20; i++)
{X=SR-A[i];printf(“\n Отклонение в %d-ом году - %lf”, i, X);}
getch();
}
В данной программе в цикле for вводятся значения элементов одномерного массива A (количество осадков в каждом из 20 лет) и вычисляется сумма осадков за 20 лет. Далее вычисляется среднее количество осадков. Затем в цикле for вычисляется отклонение от среднего для каждого года.
Рисунок 15 – Блок-схема алгоритма решения задачи из примера 3