Студопедия

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

КАТЕГОРИИ:

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






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

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал