Нахождение суммы элементов массива
s = x1+x2+…+xn
Нахождение произведения элементов массива
р = x1*x2*…*xn
Нахождение максимального элемента массива
Нахождение минимального элемента массива
Взаимозамена двух элементов массива
Требуется поменять местами k и l элементы массива
Удаление элемента из массива
Удалить k-й элемент
Примеры на тему обработки одномерных массивов.
Пример 4.1.
Задан массив действительных чисел, размером 20. Найти сумму положительных элементов.
Пример 4.2.
Задан массив A действительных чисел, размером n. Перенести в другой массив элементы, значение которых меньше чем (max+min)/2.
Программирование одномерных масивов
4.3.1Описание одномерного массива
<тип> v1[k1], v2[k2], …, vn [kn],
где vi – имя массива,
ki – целая константа, указывающая размер массива
K-1)
Например
int p[[5], n=0, d[12];
float x[20], f, z[50], t=-1;
x[i] x[0] x[i+6]
.
4.3.2 Ввод значений элементов массива
|
|
- С помощью клавиатуры
for(i=0; i<n; i++)
{
printf(“a[ %d ]=”, i+1);
scanf(“%f “, &a[i]);
}
- С помощью датчика случайных чисел
# include <stdlib.h>
for(i=0; i<n; i++)
a[i]=20+5.0*rand()/RAND_MAX;или a[i]=0.001*rand();
- С помощью формул расчета
for(i=0; i<n; i++)
a[i]=k1*sin(k2*i)-k3*sqrt(k4*i);
4.3.3 Инициализация одномерных массивов.
v[k]={c1,c2,…cm }; m≤k
int s[6]={-1,5,-7,11,8,9}; s[0]=-1,s[5]=9;
int r[ ]={5,9,-1,7,-5};
4.3.4 Вывод (печать) элементов массива
for(i=0; i<n; i++)
printf(“%6.2f”, a[i]); в строку
for(i=0; i<n; i++)
printf(“\n%6.2f”,a[i]); в столбец
Пример 4.3
Задан исходный массив А из n-элементов (n≤100).
Определить М=(Аmax + Аmin)/2.
int main()
{
int i,n;
float a[100],m,amax,amin;
printf (“Укажите длину массива n”);
scanf(“%d”, &n);
printf (“Введите элементы массива ”);
for(i=0; i<n; i++)
scanf(“%f“, &a[i]);
for(i=0; i<n; i++)
printf(“%8.2f _”,a[i]);
amax =-1000;
amin =1000;
for(i=0; i<n; i++)
{
if(a[i] > amax) amax =a[i];
if(a[i] < amin) amin =a[i];
}
m=(amax - amin)/2;
printf(“\n m=%8.3 \n”,m);
return 0;
}