У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 3 ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.5.2025

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

  1.  Найти максимальный элемент среди положительных элементов массива А.
  2.  Из массива В сформировать массив Р(20), у которого вначале расположены элементы массива В с нечетными индексами, затем с четными.

А(10)

В(20)

2

  1.  Первый элемент массива А заменить суммой максимальных элементов массива А и массива В.
  2.  Записать элементы массива В с индексами 1, 4, 9, 16…49 подряд в массив Р(7).

А(50)

В(50)

3

  1.  Найти минимальный элемент среди положительных элементов массива А.
  2.  Сформировать массив С(40), первые 20 элементов которого - элементы массива А, а последующие – элементы массива В, записанные в обратном порядке.

А(20)

В(20)

4

  1.  Найти разницу между максимальным и минимальным элементами массива А.
  2.  Сформировать массив К(10), каждый элемент которого  определяется: K(i)=A(i)-М, где М-среднее арифметическое элементов массива А.

А(30)

В(30)

5

  1.  Определить отношения между максимальным и минимальным элементами массива А.
  2.  Положительные элементы массива В записать в массив Р в обратном порядке.

А(20)

В(20)

6

  1.  Найти разницу между модулями сумм положительных элементов массива А и отрицательных.
  2.  Сформировать массив  Р(30), у которого Р(i)=min(A(i),B(i)).

А(50)

В(50)

7

  1.  Вычислить сумму абсолютных значений элементов.
  2.  Элементы массива В расположить в обратном порядке в массиве Р.

А(50)

В(50)

8

  1.  Определить процент положительных, отрицательных и нулевых элементов массива А.
  2.  Вычислить среднее арифметическое М элементов массива В и количество элементов В(i), превышающих М.

А(50)

В(50)

9

  1.  Последний элемент массива А заменить суммой элементов этого же массива.
  2.  Сформировать вектор Р по формуле P(i)=A(i)*B(i).

А(20)

В(20)

10

  1.  Найти среднее арифметическое элементов массива А.

Каждый третий элемент массива В заменить произведением двух предыдущих.

А(10)

В(30)

11

  1.  Последний элемент массива А заменить максимальным значением первых десяти элементов массива В.
  2.  Сформировать массив Р, каждый элемент которого равен произведению всех предыдущих элементов массива А, т.е. P(i)=A(1)*А(2)*…*A(i).

А(30)

В(30)

12

  1.  Найти отношение между максимальными значениями    элементов массива А и массива В.
  2.  Сформировать массив Р(50), у которого Р(i)=A(i)+B(i)).

А(50)

В(50)

13

  1.  Максимальный элемент массива А заменить минимальным элементом массива В.
  2.  Положительные элементы массива В увеличить в два раза. Найти произведение элементов массива В до и после увеличения.

А(50)

В(50)

14

  1.  Определить отношения между максимальным и минимальным элементами массива А.
  2.  Записать элементы массива В с нечетными индексами в массив Р в обратном порядке.

А(50)

В(50)

15

  1.  Максимальный элемент массива А заменить минимальным элементом массива В.
  2.  Положительные элементы массива В увеличить в два раза. Найти сумму  элементов массива В до и после преобразования.

А(20)

В(10)

16

  1.  Первый элемент массива А заменить суммой максимальных элементов массива А и массива В.
  2.  Сформировать массив Р, у которого P(i)=min(A(i),B(i)).

А(50)

В(50)

17

  1.  Каждый пятый элемент массива А заменить максимальным из четырех предыдущих.
  2.  Положительные элементы массива В расположить в обратном порядке в массиве Р.

А(40)

В(40)

18

  1.  Определить большее значение из максимальных элементов массива А и массива В.
  2.  Каждый пятый элемент массива  В заменить суммой положительных  элементов из предыдущих четырех.

А(50)

В(50)

19

  1.   Каждый третий элемент массива А заменить минимальным из двух предыдущих.
  2.  Сформировать массив К(10), каждый элемент которого  определяется: K(i)=A(i)-А, где А-среднее арифметическое элементов массива А.

А(40)

В(40)

20

  1.  Каждый положительный элемент массива А заменить на сумму всех предыдущих отрицательных.
  2.  Сформировать массив Р, у которого P(i)=A(i)/B(i).

А(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)-(Аmaxmin)/2.

2. Перенести в массив Р положительные элементы  из массива А и из массива В.

А(20)

В(10)

25

1.Каждый нулевой элемент массива А заменить на сумму всех предыдущих.

2.Переставить элементы массива А так, чтобы все они сместились влево на один шаг, т.е. на месте А(1) оказался А(2), а на месте А(2) - А(3) и т.д. На месте А(15) должен оказаться А(1).

А(15)

В(15)

Контрольные вопросы

  1.  Как выглядит форма объявления одномерных массивов?
  2.  Каким образом нумеруются  элементы массива?
  3.  Каковы требования к индексам элементов массива?
  4.  Как выполняется инициализация одномерных массивов?
  5.  Какой из типов операторов цикла удобнее использовать при работе с массивами?
  6.  Приведите варианты ввода численных значений элементов массива.
  7.  Приведите варианты вывода элементов массива на печать.
  8.  Приведите алгоритмы определения суммы и произведения элементов массива.
  9.  Приведите алгоритмы нахождение максимального и минимального элементов в массиве.

PAGE  




1. История жд транспорта в период 19171945 гг
2. УТВЕРЖДАЮ Зав6
3. сосудистой эндокринной опорнодвигательной
4. прижала тех кто на неё жалуется потому что несмотря на конкуренцию очень немногие имеют достаточно вол
5. Хакас
6. Семенные растения и их общая характеристика
7. тема финансовых отношений направленных на эффективное управление финансовыми ресурсами корпорации
8.  Укажите определение электрического тока Электрический ток ~ это направленное движение заряженных част
9. Система применения удобрений в севообороте
10. fU называют вольтамперной характеристикой pn