Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб 5_ Операции с массивами.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
324.61 Кб
Скачать

5.5.1. Ввод и вывод массива

Под вводом массива понимается процесс получения от пользователя (или из файла) во время работы программы значений элементов массива.

Под выводом массива понимается вывод на экран монитора (в диалоговое окно) значений элементов массива.

Если в программе необходимо вывести значения всех элементов массива, то для этого удобно использовать инструкцию for, при этом переменная-счетчик инструкции for может быть использована в качестве индекса элемента массива.

В листинге 5.1 приведен пример, который демонстрирует инициализацию и процесс вывода значений элементов массива на монитор. Программа вводит значения одномерного целочисленного массива (вектора) и выводит значения двумерного целочисленного массива (матрицы) , каждый элемент которого равен .

Листинг 5.1. Демонстрация ввода и вывода элементов массива

// Samp1702.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <iostream>

#include <conio.h>

using namespace std;

int main(int argc, char* argv[])

{

int a1,a2,a3;

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

cout << "input massiv' elements: \n";

cin >> a1 >>a2 >> a3;

int a[]={a1,a2,a3};

// определение размера массива a[]

const int SIZE=sizeof(a)/sizeof(int);

cout << " \nsize=" << SIZE << endl;

// вывод элементов одномерного массива a[]

for (int i=0; i<=SIZE-1; i++)

{

if (i==0)

cout << "\n elementy massiva a[]:\n\n";

cout <<"\t" << a[i] << endl;

}

// создание и вывод двумерного массива

int b[SIZE][SIZE];

for (int i=0; i<=SIZE-1; i++)

for (int j=0; j<=SIZE-1; j++)

{

if ((i==0)&&(j==0))

cout << "\n elementy massiva b[][]:\n\n";

b[i][j]=a[i]-3*a[j];

cout << "\t" << b[i][j];

if(j==SIZE-1)

cout << endl;

}

getch();

return 0;

}

5.5.2. Поиск минимального (максимального) элемента массива

Алгоритм поиска минимального (максимального) элемента массива довольно очевиден: сначала делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент становится минимальным (максимальным) и продолжается проверка оставшихся элементов. Листинг 5.2 демонстрирует процедуру поиска минимального элемента одномерного массива, приведенного выше.

// minMax Arr.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

// Листинг 5.2. Поиск минимального элемента в массиве

#include <iostream>

#include <conio.h>

using namespace std;

int main(int argc, char* argv[])

{

// ввод массива

int a[]={5,3,17,39,33,1,2,16,18};//массив целых чисел

const int SIZE = sizeof(a)/sizeof(int);//размер массива

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

int i; // номер элемента, сравниваемого с минимальным

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

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

for (i=1; i<= SIZE-1; i++)

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

min=i;

// вывод результатов

cout << "Minimalnyi element massiva: "

<< a[min]<< "\tNomer elementa: " << min;

getch();

return 0;

}