50140

Программирование задач с использованием массивов. Ввод и вывод элементов. Упорядочивание. Нахождение максимального (max) элемента

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

Информатика, кибернетика и программирование

Элементы массива нумеруются с нуля. Доступ к элементу массива осуществляется путем указания индекса номера элемента. Доступ к элементам массива можно осуществлять при помощи указателя. В инструкции объявления массива удобно использовать именованную константу объявленную в директиве define.

Русский

2014-01-16

51.5 KB

13 чел.

Лабораторная Работа № 11

Тема:  Программирование задач с использованием массивов. Ввод и вывод элементов. Упорядочивание. Нахождение максимального (max) элемента.

Цель: Получение практических навыков  в использовании одномерных массивов.

Теоретические сведения:

Приступая к выполнению задачи, следует вспомнить, что:

  •  Массив – это фиксированное количество упорядоченных компонент одного типа, снабжённых индексами.
  •  Чтобы описать массив, надо сообщить компилятору: сколько в нем элементов, какого типа эти элементы, как они нумеруются.
  •  Элементы массива нумеруются с нуля.
  •  Доступ к элементу массива осуществляется путем указания индекса (номера) элемента.
  •  Доступ к элементам массива можно осуществлять при помощи указателя.
  •  В инструкции объявления массива удобно использовать именованную константу, объявленную в директиве #define.
  •  Для ввода, вывода и обработки массивов удобно использовать инструкции циклов (for, while).
  •  Типичной ошибкой при использовании массивов является обращение к несуществующему элементу, то есть выход индекса за допустимое значение.

Пример: Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. Для доступа к элементам массива используйте указатель.

Текст программы:

// поиск минимального элемента массива

#include<stdio.h>

#include<conio.h>

#define HB 5 //размер массива

void main()

{

int a[HB]; //массив

int min;  //номер минимального элемента

int i; //индекс массива

printf(“\nВведите в одной строке %i целых чисел, и нажмите ENTER\n”,HB);

for (i=0;i<HB;i++)

scanf(“%i”,&a[i]);

min=0; //предположим, что первый элемент минимальный, сравним оставшиеся с ним

for (i=1;i<HB;i++)

if(a[i]<a[min]) min=i;

printf(“Минимальный элемент массива: a[%i]=%i”,min+1,a[min]);

getch();

}

// поиск минимального элемента массива с использованием механизма указателей

#include<stdio.h>

#include<conio.h>

#define HB 5 //размер массива

void main()

{

int a[HB]; //массив

int *min; //номер минимального элемента

int *p;  //указатель на элемент массива

printf(“\nВведите в одной строке %i целых чисел, и нажмите ENTER\n”,HB);

p=a;

for (i=1;i<=HB;i++)

scanf(“%i”,p++);

min=a;  //пусть первый элемент минимальный

p=a+1;

// теперь p содержит адрес второго элемента

// Сравним оставшиеся элементы с минимальным

for (i=2;i<=HB;i++)

{

if(*p<*min) min=p;

p++; //к следующему элементу

}

printf(“Минимальный элемент массива: %i\n”,*min);

getch();

}

Варианты заданий: Осуществить ввод массива с клавиатуры и выполнить задание своего варианта:

Вариант

Массив

Задание

Условия

1

X(100)

Вычислить сумму и количество элементов массива X, удовлетворяющих условию

0≤Xi≤1

2

A(80)

Вычислить среднее арифметическое значение элемента массива А

Аi>0

3

X(70)

Переписать элементы массива Х, удовлетворяющие условию в массив Y и подсчитать их количество

-1≤Xi≤1

4

B(50)

Определить максимальный элемент массива В и его номер

Xi>0

5

C(40)

Определить минимальный элемент массива С и его номер

Xi<0

6

D(80)

Найти максимальный и минимальный элементы массива D и поменять их местами

-

7

Y(20)

Вычислить среднее геометрическое элемента массива Y

Yi>0

8

Z(30)

Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z 

-

9

N(50)

Определить сумму элементов массива N кратных трем

Ni/3*3=Ni

10

X(N)

Вычислить сумму и количество элементов массива X, удовлетворяющих условию

Xi>0, N≤30

11

A(N)

Найти среднее геометрическое элементов массива A

Ai>0, N≤50

12

X(N)

Переписать в массив Y подряд положительные элементы массива X 

Xi>0, N≤40

13

X(N)

Переписать подряд в массив Y положительные и в массив Z отрицательные элементы массива X

N≤40

14

B(K)

Определить максимальный элемент массива B, удовлетворяющий условию, и его номер

Xi<0, K≤40

15

C(K)

Определить минимальный элемент массива С, удовлетворяющий условию, и его номер

-1≤Xi≤1, K≤20

Контрольные вопросы:

  1.  Что понимается под массивом?
  2.  Как описываются массивы в разделе переменных?
  3.  Как организуется ввод массива в программе?
  4.  Как организуется вывод массива в программе?
  5.  Какие операции разрешены над элементами массива?

Содержание отчета:

  1.  Краткие теоретические сведения.
  2.  Схемы алгоритмов.
  3.  Тексты составленных программ.
  4.  Протоколы к составленным программам.
  5.  Вывод о проделанной работе.


 

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

40808. Переходные процессы в цепях с распределенными параметрами 63.07 KB
  Пример такого сведения на основе принципа наложения для задачи на подключение в конце линии нагрузки схематично иллюстрирует рис. Таким образом если к линии в общем случае заряженной подключается некоторый в общем случае активный двухполюсник то для нахождения возникающих волн необходимо определить напряжение на разомкнутых контактах ключа рубильника после чего рассчитать токи и напряжения в схеме с сосредоточенными параметрами включаемой на это напряжение при нулевых начальных условиях. При отключении нагрузки или участков линии для...
40809. Нелинейные электрические цепи 59.57 KB
  Нелинейными называются цепи в состав которых входит хотя бы один нелинейный элемент. полюсов с помощью которых они подсоединяются к электрической цепи. Нелинейные электрические цепи постоянного тока Нелинейные свойства таких цепей определяет наличие в них нелинейных резисторов.
40810. Расчет нелинейных электрических цепей 63.85 KB
  Если в сложной электрической цепи имеется одна ветвь с нелинейным резистором то определение тока в ней можно проводить на основе теоремы об активном двухполюснике методом эквивалентного генератора. Ветвь содержащая нелинейный резистор выделяется из исходной цепи а вся остальная уже линейная схема представляется в виде активного двухполюсника АД. Если необходимо также найти токи в линейной части исходной цепи то после расчета нелинейной схемы на рис. 1б в соответствии с теоремой о компенсации нелинейный резистор заменяется...
40811. Магнитные нелинейные электрические цепи 57.18 KB
  Для концентрации магнитного поля и придания ему желаемой конфигурации отдельные части электротехнических устройств выполняются из ферромагнитных материалов. Векторные величины характеризующие магнитное поле Наименование Обозначение Единицы измерения Определение Вектор магнитной индукции Тл тесла Векторная величина характеризующая силовое действие магнитного поля на ток по закону Ампера Вектор намагниченности А м Магнитный момент единицы объема вещества Вектор напряженности магнитного поля А м где Гн м магнитная постоянная Основные...
40812. Расчет магнитных нелинейных электрических цепей 67.12 KB
  Указанная в предыдущей лекции формальная аналогия между электрическими и магнитными цепями позволяет распространить все методы и технику расчета нелинейных резистивных цепей постоянного тока на нелинейные магнитные цепи. При этом для наглядности можно составить эквивалентную электрическую схему замещения исходной магнитной цепи с использованием которой выполняется расчет. При расчете магнитных цепей на практике встречаются две типичные задачи: задача определения величины намагничивающей силы НС необходимой для создания заданного...
40813. История развития печатающих устройств 13.56 MB
  при печати на такой машинке был виден набираемый текст рис. printer печатник устройство печати цифровой информации на твёрдый носитель обычно на бумагу. Процесс печати называется вывод на печать а получившийся документ распечатка или твёрдая копия.
40814. Политическое сознание 263.43 KB
  Некоторые элементы этого уровня могут быть обобщены и использованы в определенных политических технологиях а также для построения политических теорий; Обыденный уровень политического сознания повседневное состояние общественного мнения по поводу политической жизни. Виды политического сознания В зависимости от субъекта политики типами политического сознаниявыступают: индивидуальное содержит систему информационных мотивационных и ценностных компонентов обеспечивающих познание личностью политики и участие в ней; групповое обобщает...
40815. Записываемые и перезаписываемые CD 2.21 MB
  Оптические тетради 16 Форматы хранения данных 18 Методы записи 20 Режимы работы устройств 22 Оценка качества записи заготовок CDR 23 Структура проигрывателя компактдисков 26 Его быстро окрестили лазерным или компактдиском Compct Disk CD фирма Philips создательница этого чуда техники объявила о совершенной ею революции в области записи и воспроизведения звука. Первое время главным недостатком компактдиска была невозможность записи на него...
40816. РОЗРАХУНОК СТРУКТУРНОЇ НАДІЙНОСТІ КС 96.49 KB
  Технічна система ТС сукупність технічних пристроїв елементів призначених для виконання певної функції або функцій. Елементи відмова яких сама по собі або в сполученні з відмовами інших елементів приводить до відмови системи. Для розрахунків параметрів надійності використовуються структурно логічні схеми надійності ТС які графічно відображають взаємозвязок елементів та їхній вплив на працездатність системи в цілому. Структурнологічна схема являє собою сукупність раніше виділених елементів зєднаних один з одним послідовно або...