Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Пример обработки одномерного массива

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

Обработка статических массивов

1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении программ с массивами.

 

ОСНОВНЫЕ СВЕДЕНИЯ

Массивы - структурированный тип данных с элементами одного и того же типа, имеющий одно имя и определенное количество элементов. Количество элементов определяет размер массива. Порядковый номер элемента массива называется его индексом. Число индексов называется размерностью массива, например, массив с двумя индексами называется двумерным массивом. Строка символов является массивом символов, вектор – массив чисел, матрица – массив векторов. Обработка массивов выполняется следующим образом: объявление, ввод или инициализация элементов массива, преобразование и вывод.

Объявление массива

Чтобы использовать массив, надо его объявить – выделить место в памяти компьютера, объём которой зависит от количества элементов и типа массива. Тип массива - это тип входящих в него элементов. Массивы могут быть разных типов:

— int, float, char, и т.д. Массив объявляют так же, как и обычные переменные, но после имени массива в квадратных скобках записывается его размер.

int A[10], B[20]; // 2 массива по 10 и 20 целых чисел

float C[12]; // массив из 12 вещественных чисел

При объявлении массива можно сразу заполнить его начальными значениями, перечисляя их внутри фигурных скобок:

int A[4] = { 2, 3, 12, 76 };

Если в списке в фигурных скобках записано меньше чисел, чем элементов в массиве, то оставшиеся элементы заполняются нулями. Если чисел больше, чем надо, компилятор сообщает об ошибке. Например,

int A[4] = { 2 }; // последние три элемента равны 0

Для повышения универсальности программы размер массива лучше определять через константу. В этом случае для переделки программы для массива другого размера надо только поменять значение этой константы:

const int N = 20; //N - константа

main()

{

int A[N]; // размер массива задан через константу

...

}

 

Обращение к элементу массива

Каждый элемент массива имеет свой порядковый номер. Чтобы обратиться к элементу массива, надо написать имя массива и затем в квадратных скобках номер нужного элемента. Важно запомнить правило: элементы массивов в языке Си нумеруются с нуля. Поэтому индекс последнего элемента массива на 1 меньше числа элементов в данном массиве.

Таким образом, если в массиве 10 элементов, он содержит элементы:

A[0], A[1], A[2],..., A[9]

Номер элемента массива также называется его индексом. Вот примеры обращения к массиву A:

x = (A[3] + 5)*A[1]; // прочитать значения A[3] и A[1]

A[0] = x + 6; // записать новое значение в A[0]

В языке Си не контролируется выход за границы массива, то есть формально вы можете записать что-то в элемент с несуществующим индексом, например в A[345] или в A[-12]. Однако при этом вы стираете какую-то ячейку в памяти, не относящуюся к массиву, поэтому последствия такого шага непредсказуемы и во многих случаях программа «зависает».

Ввод с клавиатуры и вывод на экран

Существует много способов ввода в зависимости от вашей задачи:

• элементы массива вводятся с клавиатуры вручную;

• массив заполняется случайными числами (например, для моделирования случайных про-

цессов);

• элементы массива читаются из файла;

• массив заполняется в процессе вычислений.

Чтобы ввести массив в память, надо каждый его элемент обработать отдельно (например, вызвав для него функцию ввода scanf). Для ввода и вывода массива обычно используется цикл for.

Пример обработки одномерного массива

Дан массив из 50 целых чисел. Найти наибольший элемент в массиве и его порядковый номер.

 

# include <stdio.h>

#include <conio.h>

# define n 50 // определение константы n=50

int i, max, nom, a[n]; //описание массива целых чисел из n элементов

main()

{ for (i=0; i<n; i++)

{ printf(“\n Введите элемент массива ”);

scanf ("%d", &a[i]) };

for (i=1,max=a[0],nom=0; i<n; i++)

if (max<a[i])

{nom=i; max=a[i];}

printf("\n Вывод элементов исходного массива: \n");

for (i=0; i<n; i++) printf ("%6d", a[i]);

printf ("\n Максимальное число в массиве %4d, его индекс %4d ", max, nom+1);

getch();

}

 



<== предыдущая лекция | следующая лекция ==>
Электропроводность твердых тел | Интегрированная среда разработчика DELPHI
Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 426 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

2240 - | 2159 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.