Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Обработка массивов






 

Цель лабораторной работы: изучение структурной организации массивов и способов доступа к их элементам; совершенствование навыков структурного программирования на языке C/С++ при решении задач обработки массивов.

 

Задание на программирование: используя технологию структурного программирования, разработать программу обработки одномерных и двумерных (матриц) массивов в соответствии с индивидуальным заданием.

 

Порядок выполнения работы:

 

1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.

2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.

3) Построить схему алгоритма решения задачи.

4) Составить программу на языке C/С++.

5) Использовать оконный интерфейс предыдущей лабораторной работы.

Входные данные вводить с клавиатуры по запросу.

Выходные данные выводить на экран с пояснениями.

6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.

7) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.

 


Варианты индивидуальных заданий

 

1) Дан массив b1, b2, …, b2n. Написать программу построения массивов x1, x2, …, xn и y1, y2, …, yn, элементы которых равны соответственно значениям: b1, b3, …, b2n-1 и b2, b4, …, b2n.

 

2) В заданной матрице поменять местами первую строку и строку, содержащую наибольший элемент матрицы.

 

1) Дан целочисленный массив a1, a2, …, am. Из абсолютных величин его элементов выбрать наибольшую. Далее построить массив, i-й элемент которого равен нулю, если не совпадает с выбранным значением, и равен 1 в противном случае.

 

2) В заданной матрице поменять местами последний столбец и столбец, содержащий наименьший элемент матрицы.

 

1) Написать программу построения массива с элементами:

a1, a1+a2, a1+a2+a3, a1+a2+a3+…+an

по данному массиву a1, a2, …, an.

 

2) В заданной матрице поменять местами две строки: строку, содержащую максимальный элемент матрицы, и строку, содержащую минимальный элемент матрицы.

 

1) В вещественном массиве x1, x2, …, xn заменить нулем все отрицательные элементы, предшествующие его максимальному элементу.

 

2) В заданной матрице поменять местами главную и побочную диагонали.

 

1) Даны массивы a1, a2 …, an и b1, b2, …, bn. Получить массив C, элементы которого:

a1, b1, a2, b2, … an, bn.

 

2) В заданной матрице поменять местами первый столбец со столбцом, содержащим наибольший элемент матрицы.

 

1) Дан вещественный массив x1, x2, …, xm. Все его элементы, следующие за наибольшим элементом, заменить значением b.

 

2) В заданной матрице поменять местами среднюю строку и средний столбец.

 

1) Даны вещественные массивы x1, x2, …, xn и y1, y2, …, yn. Преобразовать их по правилу: большее из значений xi и yi принять в качестве нового значения xi, а меньшее – в качестве нового значения yi.

 

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей наибольший элемент матрицы.

 

 

1) Дан целочисленный массив a1, a2, …, an. Если в массиве нет ни одной компоненты с заданным значением К, то первую по порядку компоненту этого массива, большую всех остальных компонент, заменить значением К.

 

2) В заданной матрице поменять местами первую строку и первый столбец.

 

 

1) Написать программу, осуществляющую циклический сдвиг компонент массива x1, x2, …, xn (n> =2) на одну позицию влево, то есть получающую массив x2, x3, …, xn, x1.

 

2) В заданной матрице поменять местами последний столбец со столбцом, содержащим наибольший элемент матрицы.

 

 

1) Дан вещественный массив a1, a2, …, an. Если в этом массиве есть хотя бы один элемент, значение которого меньше Р, то все отрицательные элементы массива заменить их квадратами, в противном случае массив а умножить на число b.

 

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей наименьший элемент матрицы.

 

 

1) Написать программу вычисления величины K, обратной произведению тех элементов массива b1, b2, …, bn, для которых выполнимо: 2i< bi< i!. Если таких элементов нет, то ответом должно служить сообщение.

 

2) В заданной матрице поменять местами первый столбец со столбцом, содержащим наибольший элемент главной диагонали.

 

1) Преобразовать массив а1, а2, …, аn так, чтобы его элементы расположились в обратном порядке: аn, аn-1, …, а1.

 

2) В заданной матрице поменять местами две строки: строку с указанным номером и строку, содержащую наименьший элемент матрицы.

 

 

1) Написать программу выбора среди элементов массива а1, а2, …, аn наибольшего среди остающихся после выбрасывания наибольшего и всех ему равных. Предполагается, что не все элементы равны между собой.

 

2) В заданной матрице поменять местами последний столбец и побочную диагональ.

 

 

1) Из массива а1, а2, …, а3n получить массив b1, b2, …, bn, очередная компонента которого равна среднему арифметическому тройки очередных компонент массива а.

 

2) В заданной матрице поменять местами два столбца: столбец, содержащий максимальный элемент матрицы, и столбец, содержащий минимальный элемент матрицы.

 

 

1) Дан целочисленный массив b1, b2, …, bn. Если элементы этого массива не образуют убывающей последовательности, то заменить его отрицательные элементы единицами.

 

2) В заданной матрице поменять местами первую строку и строку, содержащую максимальный элемент матрицы.

 

 

1) Дан целочисленный массив а1, а2, …, аn, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов нужно оставить только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями.

 

2) В заданной матрице поменять местами первый столбец и побочную диагональ.

 

 

1) Дан вещественный массив а1, а2, …, аn. Если в этом массиве есть хотя бы один элемент, принадлежащий отрезку [x, y], то все элементы, не принадлежащие этому отрезку, заменить значением К.

 

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей минимальный элемент матрицы.

 

 

1) Дан массив а1, а2, , …, аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные.

 

2) В заданной матрице поменять местами последний столбец и столбец, содержащий минимальный элемент матрицы.

 

 

1) Написать программу выполнения следующего задания: из всех непрерывных участков массива а1, а2, …, аn, состоящих из нулей, выбрать наибольший по длине. Вывести индексы его начала и конца.

 

2) В заданной матрице поменять местами последнюю строку со строкой, содержащей максимальный элемент матрицы.

 

 

1) Написать программу, осуществляющую циклический сдвиг компонент массива x1, x2, …, xn (n> =2) на одну позицию вправо, т.е. получающую массив xn, x1, x2, …, xn-1.

 

2) В заданной матрице поменять местами последний столбец со столбцом, содержащим максимальный элемент матрицы.

 

 

1) Дан вещественный массив x1, x2, …, xm. Все его элементы, предшествующие наибольшему элементу, заменить значением c.

 

2) В заданной матрице поменять местами первую строку и главную диагональ.

 

 

1) Дан вещественный массив x1, x2, …, xm. Все его положительные элементы, следующие за наименьшим элементом, заменить значением d.

 

2) В заданной матрице поменять местами главную диагональ и последний столбец.

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.