Пример выполнения задания. Лабораторная работа №4

ЛАБОРАТОРНАЯ РАБОТА №4

ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

Цель работы: изучить особенности составного типа данных массив, научиться составлять программы с использованием одномерных массивов.

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

Массив – конечная последовательность данных одного типа. Массив – составной тип данных, каждый элемент которого определяется именем и индексом (номером). Массивы бывают одномерные и многомерные. Рассмотрим особенности обработки одномерных массивов.

Помните! В языке С/С++ индекс первого элемента массива начинаются с 0.

В программе одномерный массив описывается следующим образом:

тип имя_ массива [ размер ];

где тип - один из базовых типов, используемых в С, например: int, doudle, float, char;

имя_массива –идентификатор, который задается по правилам языка;

размер – указывает количество элементов в массиве. Размер массива может задаваться константой или константным выражением. Элементами массива не могут быть функции и элементы типа void.

Примеры описания массивов:

int mas [5];

double x [4] = {1.4, -5.1, 0.375};

Для обращения к элементам массива необходимо указывать имя массива и порядковый номер – индекс, который заключают в квадратные скобки. Так в описанном выше целочисленном массиве mas к первому элементу можно обратиться как mas [0], ко второму – mas [1], …,к пятому – mas [4]. Для массива x, состоящего из действительных чисел, выполнена инициализация, причем элементы массива получат следующие значения: x [0]=1.4, x [1]=-5.1, x [2]=0.375, x [3]=0.

В языке С/С++ компилятор не контролирует выход значения индекса за пределы размера массива. За это отвечает программист.

Примеры описания массивов:

const N=10; – задание значения размера массива;

typedef double mas[N*2]; – описание типа одномерного массива;

mas a1; – декларация массива а1 типа mas;

int b [20]; – массив b из двадцати целых чисел.

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

g = a1 [2] + b[ a1 [ i ] + 1];

a1 [ j ] = s + fabs(a [ j –1]);

 

Рассмотрим один из стандартных алгоритмов обработки массивов. Найти максимальный элемент среди вещественных чисел массива A[10].

#include<stdio.h>

#include<conio.h>

void main()

{ const N=10; /*размерность масcива А*/

float A[N]; /*описание масcива А */

float MAX; int I;

//ввод элементов массива

printf("Bведите через пробел %d чисел\n ",N);

for (I=0;I<N;I++) scanf("%f",&A[I]);

// нахождение наибольшего элемента последовательности

MAX =A[0];

for (I=1;I<N;I++)

if (A[I]>MAX) MAX =A[I];

printf("\nMАX=%.3f",MAX);

getch ();

}

 

Пример выполнения задания

 

В статическом массиве А размером N (не более 20), состоящем из целых чисел найти количество четных чисел и их сумму. Размер массива и его элементы вводятся с клавиатуры.

Составим блок-схему алгоритма решения задачи (рисунок 4.1).

 
 

 


Рисунок 4.1 — Блок-схема решения задачи

Текст программы с использованием ввода-вывода в потоках может иметь следующий вид:

#include <iostream.h>

#include <conio.h>

void main()

{

int a[20], n, i, kol = 0, s = 0;

cout << "\t Input N (<=20) ";

cin >> n;

cout <<"\n\t Massiv A" << endl;

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

cout << "\t a[ " << i+1 << " ] = ";

cin >> a[i];

}

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

if(a[i] % 2 == 0){

kol++;

s += a[i];

}

cout << "\n Kol-vo = " << kol << "\t Summa = " << s << endl;

cout << "\n Press any key... " << endl;

getch();

}

 

Результат выполнения программы представлен на рисунке 4.2

Рисунок 4.2 — Результат выполнения программы


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: