Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 18
ЛАБОРАТОРНАЯ РАБОТА № 3
ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ.
Цель работы:
Освоение методов обработки одномерных массивов, разработки алгоритмов, построения и отладки программ, ввода и вывода на печать одномерных массивов.
Требования к выполнению работы:
Теоретические положения
Форма описания одномерного массива:
<тип> v[k],
где v имя массива,
где к количество элементов в массиве, целое число.
int p[10];
float x[50];
Начальный индекс элемента массива всегда равен 0.
p[0] p[1] … p[9]
x[0] x[1] … x[49]
Для работы с одномерными массивами чаще всего используются простые циклы типа for, параметром которых является индекс элемента массива.
Объявление массивов не является самостоятельным объявлением, а входит в раздел объявления всех переменных.
Пример:
Задан массив действительных чисел А из n-элементов (n≤200). Определить m=(amax + amin)/2.
#include<stdio.h>
#include<math.h>
void main()
{
int i, n;
float a[200], 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];
for(i=0; i<n; i++)
if (a[i] < amin) amin =a[i];
m=( amax - amin)/2;
printf(“\n m=%8.3 \n”,m);
}
Варианты индивидуальных заданий .
Варианты индивидуальных заданий выбирается из таблицы 2.1 в соответствии с номером, заданным преподавателем. Для каждого варианта приведено два независимых задания.
Таблица 3.1.
№ |
Вид задания |
Исх. данные |
1 |
|
А(10) В(20) |
2 |
|
А(50) В(50) |
3 |
|
А(20) В(20) |
4 |
|
А(30) В(30) |
5 |
|
А(20) В(20) |
6 |
|
А(50) В(50) |
7 |
|
А(50) В(50) |
8 |
|
А(50) В(50) |
9 |
|
А(20) В(20) |
10 |
Каждый третий элемент массива В заменить произведением двух предыдущих. |
А(10) В(30) |
11 |
|
А(30) В(30) |
12 |
|
А(50) В(50) |
13 |
|
А(50) В(50) |
14 |
|
А(50) В(50) |
15 |
|
А(20) В(10) |
16 |
|
А(50) В(50) |
17 |
|
А(40) В(40) |
18 |
|
А(50) В(50) |
19 |
|
А(40) В(40) |
20 |
|
А(30) В(30) |
21 |
1.Сформировать массив Р, каждый элемент которого равен произведению всех положительных предыдущих элементов массива А, т.е. P(i)=A(1)*А(2)*…*A(i). 2.Сформировать вектор Р по формуле P(i)=A(i)+Bсредн.арифм. |
А(20) В(30) |
22 |
1.Определить большее между максимальным элементом массива А и массива В. 2. Каждый третий элемент массива В заменить произведением двух предыдущих. |
А(10) В(30) |
23 |
1. Ненулевые элементы массива А перенести в массив Р. 2. Каждый третий элемент массива В заменить произведением двух предыдущих. |
А(10) В(25) |
24 |
1. Сформировать массив Р, элементы которого определяются P(i)=A(i)-(Аmax+Аmin)/2. 2. Перенести в массив Р положительные элементы из массива А и из массива В. |
А(20) В(10) |
25 |
1.Каждый нулевой элемент массива А заменить на сумму всех предыдущих. 2.Переставить элементы массива А так, чтобы все они сместились влево на один шаг, т.е. на месте А(1) оказался А(2), а на месте А(2) - А(3) и т.д. На месте А(15) должен оказаться А(1). |
А(15) В(15) |
Контрольные вопросы
PAGE