Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы информатика.doc
Скачиваний:
6
Добавлен:
11.11.2019
Размер:
299.52 Кб
Скачать

Варианты заданий.

варианта

Интервал

h

f(x)

1

[1, 1.2]

0.1

2

[0.1, 2.1]

0.2

3

[0.5, 1.2]

0.1

4

[0, 1.6]

0.2

5

[0.2, 1]

0.1

6

[2, 3.1]

0.1

7

[3.0, 6.1]

0.3

8

[3.2, 3.9]

0.1

9

[0.2, 1.4]

0.2

10

[5.7, 9.4]

0.3

11

[6.5, 7.1]

0.1

12

[0.3, 0.9]

0.1

Лабораторная работа № 3

Одномерные массивы.

ЦЕЛЬ РАБОТЫ.

  • научиться использовать в программах одномерные массивы.

ПРАКТИЧЕСКОЕ ЗАДАНИЕ.

  1. Дан вектор x={x1, … , xn}. В соответствии с вариантом задания измените значения некоторых его компонентов.

  2. Составьте отчет о выполнении лабораторной работы, в который включите:

    1. Название и цель работы;

    2. Индивидуальное задание;

    3. Текст программы;

    4. Результат решения задачи;

    5. Блок-схему алгоритма решения задачи.

ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ.

Заменить первый элемент вектора x={x1, … , xn} (n<20) средним геометрическим максимального и минимального элементов.

Будем хранить элементы вектора x в одномерном массиве x[10], а текущие значения максимального и минимального элемента в переменных max и min соответственно.

Предположим, что максимальный элемент массива есть его первый элемент. Далее в теле цикла будем сравнивать это значение с остальными элементами и, когда очередной элемент массива окажется больше значения max, переменной max присвоим значение этого элемента. Аналогично найдем минимальный элемент массива. Затем изменим заданным образом значение элемента x[0], после чего преобразованный массив выведем на печать.

/* Лабораторная работа 3 */

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

int i;

float x[10], max, min;

/*Ввод элементов массива*/

for (i = 0; i < 10; i++ )

{

printf("\nx[%d]=", i+1);

scanf( "%f", &x[i]);

}

/*Поиск максимального элемента*/

max = x[0];

for (i = 1; i < 10; i++)

if (x[i] > max)

max = x[i];

/*Поиск минимального элемента*/

min = x[0];

for (i = 1; i < 10; i++)

if (x[i] < min)

min= x[i];

x[0] = sqrt( max * min);

/*Вывод элементов массива*/

for (i = 0; i < 10; i++ )

printf ("\nx[%d]=%f ", i+1, x[i]);

system("PAUSE");

return 0;

}