Студопедия

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

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

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






Лабораторная работа №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. Чему равно нижнее значение индекса?

 






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