![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторная работа №4. Обработка одномерных массивов
Цель работы: приобретение навыков программирования при решении задач с использованием одномерных массивов.
Отчет на лабораторную работу должен содержать: - задание по варианту; - листинг программы, записанного по правилам языка Си/Си++ (все значения для вычисления ввести с клавиатуры.); - составить блок-схему данного алгоритма; - скриншот результата программы.
4.1 Варианты заданий 1. Дан массив размера N. Вывести его элементы в обратном порядке. 2. Дан массив размера N. Вывести вначале его элементы с четными1|нечетными2 индексами, а затем — с нечетными1|четными2. 3. Дан целочисленный массив A размера 10. Вывести номер первого1|последнего2 из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0. 4. Дан целочисленный массив размера N. Преобразовать его, прибавив к четным1|нечетным2 числам первый3|последний4 элемент. Первый и последний элементы массива не изменять. 5. Дан целочисленный массив размера N. Вывести вначале все его четные1|нечетные2 элементы, а затем — нечетные1|четные2. 6. Поменять местами минимальный и максимальный элементы массива размера 10. 7. Заменить все положительные1|отрицательные2 элементы целочисленного массива размера 10 на значение минимального3|максимального4. 8. Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами. 9. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево1|вправо2 на одну позицию. 10. Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево1|вправо2 на k позиций. 11. Проверить, образуют ли элементы целочисленного массива размера N арифметическую1|геометрическую2 прогрессию. Если да, то вывести разность1|знаменатель2 прогрессии, если нет — вывести 0. 12. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем [четные и нечетные]1|[положительные и отрицательные]2 числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность. 13. Дан массив размера N. Найти количество его локальных минимумов1|максимумов2. 14. Дан массив размера N. Найти максимальный1|минимальный2 из его локальных минимумов1|максимумов2. 15. Дан массив размера N. Определить количество участков, на которых его элементы монотонно возрастают1|убывают2.
4.2 Методические указания к выполнению лабораторной работы Массив – это структура данных, состоящая из фиксированного числа компонент одного типа. К компонентам массива обеспечен доступ при помощи указания индексов компонент. Описание типа массива задается следующим образом: тип имя_масссива [размер]; Количество индексов «размер» определяет размерность массива. Заполнение массива значениями с клавиатуры: for (i=0; i< N; i++) scanf (“%d”, & A[i]); Вывод на экран значений элементов массива: for (i=0; i< N; i++) printf (“%d ”, A[i]); Пример: В массиве а целого типа найти индекс и значение максимального элемента и переставить его с первым элементом. Программа также должна подсчитать количество положительных и отрицательных элементов данного мaссива. Текст программы может быть следующим: #include < stdio.h> #include < ctype.h> #include < conio.h>
void main(void) { int a[4]={-1, -20, 4, 100}; // обьявление массива a int i, index, zam, max, kp, ko; clrscr(); for (i=0; i< =3; i++) printf(" %d ", a[i]); max=a[0]; kp=0; ko=0; for (i=1; i< =3; i++) { if (a[i]> max) { max=a[i]; index=i; } } zam=a[0]; a[0]=max; a[index]=zam; for (i=0; i< =3; i++) { if (a[i]< 0) ko=ko+1; else kp=kp+1; } for (i=0; i< =3; i++) printf(" %d ", a[i]); /* вывод элементов массива */ printf(" \n положительных элементов массива: %d \n", kp); printf(" \n отрицательных элементов массива: %d", ko); getch(); } Контрольные вопросы 1. Заполните массив float x[15] [15] случайными числами из диапазона 0-1; 2. Опишите массив А, содержащий 10 элементов целого типа. 3. В каком случае размерность массива можно явно не указывать. 4. Пусть объявлен массив int m[6]={5, 3, 2}; Чему равен элемент m[4]? 5. Чему равно нижнее значение индекса?
|