|
|||
ЛАБОРАТОРНАЯ РАБОТА №4. Обработка одномерных массивов. Теоретические сведенияСтр 1 из 2Следующая ⇒ ЛАБОРАТОРНАЯ РАБОТА №4 Обработка одномерных массивов
Цель работы: изучить составной тип данных – массив. Написать и отладить программу с использованием одномерных массивов. Овладеть практическими навыками работы с массивами, особенностями их ввода и вывода. 4.1. Теоретические сведения Массив – конечная последовательность данных одного типа. Массив – объект сложного типа, каждый элемент которого определяется именем (ID) и целочисленным значением индекса (номера), по которому к элементу массива производится доступ. Рассмотрим одномерные массивы. Внимание! Индексы массивов в языке С/С++ начинаются с 0. В программе одномерный массив декларируется следующим образом: тип ID массива [размер]; где размер – указывает количество элементов в массиве. Размер массива может задаваться константой или константным выражением. Элементами массива не могут быть функции и элементы типа void. Для использования массивов переменного размера существует отдельный механизм – динамическое выделение памяти. Примеры декларации массивов: int a[5]; double b[4] = {1.5, 2.5, 3.75}; в целочисленном массиве а первый элемент а[0], второй – а[1], …, пятый – а[4]. Для массива b, состоящего из действительных чисел, выполнена инициализация, причем элементы массива получат следующие значения: b[0]=1.5, b[1]=2.5, b[2]=3.75, b[3]=0. В языке С/С++ не проверяется выход индекса за пределы массива. Корректность использования индексов элементов массива должен контролировать программист. Примеры описания массивов: const Nmax=10; – задание максимального значения; typedef double mas1[Nmax*2]; – описание типа одномерного массива; mas1 a; – декларация массива а типа mas1; int ss[10]; – массив из десяти целых чисел. Элементы массивов могут использоваться в выражениях так же, как и обычные переменные, например: f = 2*a[3] + a[ss[i] + 1]*3; a[n] = 1 + sqrt(fabs(a[n–1]));
Пример обработки масcива: Найти максимальный элемент массива A[10]. #include<stdio.h> main() { const N=10; /*размерность масcива А*/ static float A[N]; /*описание масcива А */ float MAX ; int I ; //ввод элементов массива printf("Bведите через пробел %d чисел\n ",N); for (I=1;I<=N;I++) scanf("%f",&A[I]); // нахождение наибольшего элемента последовательности MAX =A[1]; for (I=2;I<=N;I++) if (A[I]>MAX) MAX =A[I]; printf("\nMАX=%.3f",MAX); }
|
|||
|