68601

Обработка одномерных массивов. Организация ввода-вывода и обработки массива

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

Математика и математический анализ

Освоение способов описания массива, приобретение навыков организации ввода-вывода и обработки массива. Выполнение работы: в соответствии с вариантом составить и реализовать программы. Задание I Даны два массива разных размеров. Определить, какие элементы первого массива и сколько раз встречаются во втором массиве.

Русский

2015-01-14

43 KB

12 чел.

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

Тема: Обработка одномерных массивов

ЦЕЛЬ РАБОТЫ: освоение способов описания массива, приобретение навыков организации ввода-вывода и обработки массива.

Выполнение работы: в соответствии с вариантом составить и реализовать программы.

Задание I

  1.  Даны два массива разных размеров. Определить, какие элементы первого массива и сколько раз встречаются во втором массиве.
  2.  Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов.
  3.  Транспонировать массив, т.е. по a1, a2, …, an сформировать an, an-1, …, a1.
  4.  Из заданного целочисленного массива удалить все повторяющиеся элементы, оставив только их первые вхождения, т.е. из заданного массива получить новый массив, состоящий из различных целых чисел.
  5.  Заменить отрицательные числа в массиве их квадратами, оставив остальные без изменения.
  6.  В заданном массиве найти среднее арифметическое положительных чисел, среднее арифметическое отрицательных чисел и число нулей.
  7.  В массиве из 2n чисел найти сумму квадратов элементов с четными индексами и сумму кубов элементов с нечетными индексами.
  8.  Из чисел a1, a2, …, an выбрать те, которые больше по модулю заданного числа с, и образовать из них новый массив, сохранив порядок следования элементов.
  9.  Из массива целых чисел составить три других, в первый из которых записать числа, кратные 5, во второй - числа, кратные 7, а в третий - остальные числа.
  10.  Задан массив из 100 целых случайных чисел, принадлежащих промежутку [0, 100]. Найти сумму тех элементов массива, которые больше 15, но меньше 45, а также вычислить количество этих элементов.
  11.  В линейном массиве заменить все элементы на число m (m – индекс максимального элемента).
  12.  Дан массив, состоящий как из положительных, так и отрицательных чисел. Нужно сначала записать положительные числа, а затем отрицательные в том же порядке, как они были расположены в исходном массиве. Если есть нули, записать их в последнюю очередь.
  13.  Найти сумму элементов данного массива. Разделить каждый элемент исходного массива на полученное значение.
  14.  Вычислить сумму и разность массивов одного размера.
  15.  Найти среднее арифметическое значение элементов заданного массива. Преобразовать исходный массив, вычитая из каждого элемента среднее значение.
  16.  Даны два массива одинакового размера. Рассматривая их как арифметические векторы, найти длины этих векторов и их скалярное произведение.
  17.  Заданы два массива разных размеров. Объединить их в один массив, включив второй массив между k-ым и (k + 1)-ым элементами первого (k задано).
  18.  Вычесть из положительных элементов данного массива элемент с номером k1 а к отрицательным элементам прибавить элемент с номером k2. Нулевые элементы заменить 1. Номера k1 и k2 вводятся с клавиатуры.
  19.  К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b.
  20.  Дан первый член геометрической прогрессии и ее знаменатель. Сформировать одномерный массив, элементами которого служат первые n членов этой прогрессии.
  21.  Сформировать массив из первых 30 членов последовательности Фибоначчи.
  22.  Вставить одно и то же число, введенное с клавиатуры, перед каждым отрицательным элементом заданного целочисленного массива.
  23.  Дан массив четного размера. Поменять местами его половины следующим образом: первый элемент - с последним, второй - с предпоследним элементом и т.д.
  24.  Даны два целочисленных массива одинакового размера. Получить третий массив того же размера, каждый элемент которого равен большему из соответствующих элементов данных массивов.
  25.  Задан массив из n целых случайных чисел, принадлежащих промежутку [-25, 25]. Найти произведение тех элементов массива, которые больше 1, но меньше 15, а также вычислить количество четных элементов массива.

Задание II

Элементы вещественного одномерного массива х размером n > 20 сгенерированы датчиком псевдослучайных чисел в диапазоне [-10, 10]. Сформировать массив y по формуле и выполнить указанные вычисления. Формулу записать с помощью математических символов в привычном виде. Вывести на экран исходный массив и результаты решения задачи. Все числа округлять до сотых.

  1.  y[i] = exp(x[i] - i), i = 1, 2, ..., n, n = 2k. Вычислить сумму произведений
    Р = х[1] y[2k] + x[2] y[2k - 1] + ... + x[2k] y[l].
  2.  y[i] = x[i] / ln(abs(x[i] + 1.23)), i = 1, 2, ..., n. Вычислить сумму отрицательных значений из первых 15 элементов массива у.
  3.  y[i] = exp(x[i]) / x[i], i = 1, 2, ..., n. Вычислить сумму всех произведений соответствующих элементов массивов х и у.
  4.  y[i] = ln(x[i] + 10.4) / (x[i] - 1), i = 1, 2, ..., n. Вычислить сумму положительных значений из последних 12 элементов массива у.
  5.  y[i] = cos(x[i]) + sin(x[i]) + 2.6, i = 1, 2, ..., n. Вычислить сумму квадратов элементов массива у, стоящих на нечетных местах.
  6.  n = 2k, у[1] = х[2], y[2] = x[2] x[4], y[3] = x[2] x[4] х[6], ...,
    у[k] = х[2] х[4] х[6]  ...  х[n],
    у[k + 1] = х[1], у[k + 2] = х[1] х[3], у[k + 3] = х[1] х[3] х[5], ..., у[n] = х[1] x[3] ... x[n - 1].

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

  1.  y[i] = sqrt(abs(x[i])), i = 1, 2, ..., n. Вычислить количество элементов массива у, больших среднего арифметического элементов массива х.
  2.  у[1] = 5.2, у[2] = 4.3, у[3] = 0.09, у[4] = -0.5, у[5] = 7.15;
    y[i] = cos(y[i - 1] + y[i - 2] + y[i - 3]) / (y[i - 4] · y [i - 5]), i = 6, 7, ..., n.

Вычислить произведение всех отрицательных чисел массива у (в этой задаче массива х нет).

  1.  n = 2k, y[1] = x[1] х[2], у[2] = х[3] х[4], ..., y[k] = x[n - 1] x[n]. Вычислить сумму квадратов элементов массива у.
  2.  y[i] = x[i]2/3, i = 1, 2, ..., n. Просуммировать элементы массива у с шагом 3, начиная с первого элемента.
  3.  n = 2k, y[i] = sqrt(abs(cos(x[i]) - 6.7), i = 1, 2, ..., n. Вычислить сумму произведений S = x[1] y[2] + x[3]  у[4] + ... + х[n - 1]  у[n].
  4.  y[i] = i sin(x[i]), i = 1, 2, ..., n. Вычислить произведение положительных значений из последних 14 элементов массива х.
  5.  y[i] = sin(exp(x[i])), i = 1, 2, ..., n. Вычислить количество отрицательных элементов массива у с нечетными индексами.
  6.  y[1] = sqrt(abs(x[1] - x[2])), y[2] = sqrt(abs(x[2] - x[3])), ...,
    y[n - 2] = sqrt(abs(x[n - 2] - x[n - 1])), y[n - 1] = sqrt(abs(x[n - 1] - x[n])).

Просуммировать элементы массива у, имеющие индекс, кратный 3.

  1.  у[1] = х[1], у[2] = х[1] + х[2], ..., у[n] = х[1] + х[2] + ... + х[n]. Вычислить сумму кубов отрицательных элементов массива у.
  2.  n = 2k, у[1] = х[1] - х[n], у[2] = х[2] - х[n - 1], ..., у[k] = х[k] - х[k + 1]. Из каждого элемента массива у вычесть среднее арифметическое элементов массива х.
  3.  17. y[i] = exp(cos(x[i])), i = 1, 2, ..., n. Вычислить количество элементов массива у, попадающих в интервал [0, 1].
  4.  18. y[i] = 1/8tg(x[i]), i = 1, 2, ..., n. Вычислить количество отрицательных элементов массива х и сумму обратных элементов массива у.
  5.  у[1] = х[1], y[n] = x[n], y[i] = (x[i - 1] + x[i] + x[i + 1]) / 3. Вычислить количество положительных элементов массива у с четными индексами и найти их сумму.
  6.  y[i] = exp(x[i]) sin(x[i]), i = 1, 2, ..., n. Вычислить сумму элементов массива у, стоящих на четных местах.
  7.  y[i] = tg(2x[i]), i = 1, 2, ..., n. Вычислить количество элементов массива у, меньших по своим значениям соответствующих элементов массива х.
  8.  y[i] = 3cos(x[i]), i = 1, 2, ..., n. Вычислить количество элементов массива у, не попадающих в промежуток [0, 1].
  9.  у[1] = 4.5, у[2] = -3.6, у[3] = -8.2, у[4] = 6;
    y[i] = ln(abs(y[i - 1])) / sin(y[i - 2] / (y[i - 4] y[i - 3])), i = 5, 6, ..., n (здесь массива х нет, а элементы массива у вычисляются с помощью рекуррентных соотношений). Вычислить сумму отрицательных элементов массива у.
  10.  y[i] = x[i]2 sin(l/x[i]), i = 1, 2, ..., n. Вычислить сумму положительных значений из первых 14 элементов массива у.
  11.  y[i] = cos(x[i]) - abs(x[i]), i = 1, 2, ..., n. Из суммы квадратов элементов массива х вычесть сумму квадратов элементов массива у.


 

А также другие работы, которые могут Вас заинтересовать

46224. PR как вид публичных коммуникаций и понятие публичной сферы 14.57 KB
  На протяжении человеческой истории сфера публичной коммуникации функционировала как сфера где зарождались и реализовывались практики которые сегодня могут рассматриваться как предшественники и прототипы PR. Публичная сфера это то доступное для граждан место где формируется общественное мнение. В трактовке западных исследователей понятие публичная сфера выглядит так: Публичная сфера это определенное пространство место в котором различные социальные системы правительство партии профсоюзы массмедиа ведут общественную дискуссию...
46226. Структура языкового знака. Аспекты знакового отношения (семантический треугольник Огдена и Ричардса) 14.56 KB
  Структура языкового знака. Таково определение языкового знака предлагаемое словарем 1 167. Значение знака идеально его внешняя форма материальна. Оптимальным способом анализа языкового знака в контексте данной работы является его осмысление как чисто субъективной субстанции существующей исключительно внутри сознания человека.
46227. Историческое развитие лексического состава языка. Источники пополнения словарного запаса 14.55 KB
  Историческое развитие лексического состава языка. Формами существования языка являются: территориальные диалекты говоры наддиалектные языковые образования койне различные социальные диалекты профессиональная речь профессиональные арго тайные корпоративные языки кастовые языки просторечие молодежное арго обиходноразговорная речь литературный язык. В принципе все формы существования языка исключая тайные языки доступны пониманию в пределах данного народа. Формы существования языка различаются между собой составом языковых...
46228. Вариантные обобщения 14.54 KB
  Вариантные обобщения. Обобщение данных состоит из основы обобщения к которой присоединяются различные основы специализаций. Но чаще всего обобщения на основе общего ресурса строится таким образом что начальный адрес для всех размещаемых объектов является одинаковым. Вариантное обобщение Вариант основа обобщения данных в процедурном подходе.
46229. Ввод-вывод в терминал. Работа со строками. Работа с файлами 14.5 KB
  Обмен данными между программой и внешними устройствами осуществляется с помощью операций вводавывода. В языке Си нет особых операторов для ввода или вывода данных. Вместо этого имеется набор классов стандартно поставляемых вместе с компилятором которые и реализуют основные операции вводавывода. Библиотека классов для вводавывода решает две задачи.
46231. Указатели на функции, имитация таблиц виртуальных функций с помощью процедурного подхода 14.47 KB
  Возможны только две операции с функциями: вызов и взятие адреса. Указатель, полученный с помощью последней операции, можно впоследствии использовать для вызова функции.
46232. СССР в послевоенные годы (1945–1953) 14.39 KB
  Фултон США 5 марта 1946 г. Затем инициатива развития конфронтационных действий в русле холодной войны перешла к США. Трумэн в ежегодном послании Конгрессу США предложил конкретные меры направленные против распространения советского влияния включавшие в себя экономическую помощь Европе образование военнополитического союза под руководством США размещение американских военных баз вдоль советских границ а также оказание поддержки оппозиционным движениям в странах Восточной Европы. государственным секретарем США Дж.