Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.docx
Скачиваний:
2
Добавлен:
09.07.2021
Размер:
39.39 Кб
Скачать

Министерство образования и науки Российской федерации

Томский государственный университет систем управления и

радиоэлектроники (ТУСУР)

Лабораторная работа по информационным технологиям:

Лабораторная работа № 5. Одномерные массивы.

Вариант 23

Выполнил

Студент заочного

отделения гр. З-66

Шерстюк П.В.

_________

Проверил

Старший преподаватель

кафедры ПРЭ

Савин Д.А.

_________

Томск 2017

Цель работы

Научиться создавать массивы, выделять память под элементы массива и инициировать их значениями. Научиться обращаться к элементам массивов как при помощи оператора имя[индекс], так и посредством методики *(адрес+смещение). Освоить понятия: адрес массива, адрес элемента массива, смещение, индекс. Освоить пошаговую трассировку программы с массивами, научиться отражать в окне watch элементы массива и их адреса. Научиться передавать массив в функцию.

Задание на лабораторную работу

1. Написать подпрограмму, выполняющую расчеты в соответствии со своим вариантом индивидуального задания. Выполнение задания реализовать с использованием массива соответствующего типа и размера.

2. Реализовать вызов функции из главной программы и вывод результатов вычисления на экран. Отладить и протестировать программу. В процессе отладки пользоваться средствами пошаговой трассировки кода, продемонстрировать в окне Watch элементы массива и их адреса.

3. Массив описать и инициировать в теле основной программы, передать его в функцию для расчетов. Вывести на экран адрес массива и его элементы.

4. Продемонстрировать в программе обращение к элементам массивов при помощи оператора имя[индекс], так и посредством методики *(адрес+смещение).

5. В отчете отразить процесс трассировки кода, результаты работы программы, листинг программного кода с комментариями, блок-схему программы.

Исходный код программы:

#include "stdafx.h"

using namespace std;

void minmax(int *massiv, int N){

int min = massiv[0];

int max = massiv[0];

int k, n;

for(int i=1;i<N;i++){

if(massiv[i]<=min)

{min= massiv[i];k=i;}

if(massiv[i]>max)

{max= massiv[i];n=i;}

}

cout<<"min ["<<k+1<<"] = "<<min<<"\nmax ["<<n+1<<"] = "<<max<<endl;

}

void _tmain(int argc, _TCHAR* argv[])

{

srand(time(NULL)); //инициализация рандомника

int N,i; //объявление числовых переменных

int *massiv; //объявление динамического массива

cout<<"Vvedite kolichestvo znachenii: ";

cin>>N;

massiv = new int[N]; //задавание размерности

cout<<"Massiv = ";

for(i=0;i<N;i++){ // заполнение массива случайными числами

massiv[i]=rand()%201-100;

}

for(i=0;i<N;i++){ // вывод массива чисел

cout<<massiv[i]<<" ";

}

cout<<endl;

minmax(massiv,N);

delete [] massiv; //очистка памяти

system("pause");

}

Результат работы программы

Вывод:

Мы научились создавать массивы, выделять память под элементы массива и инициировать их значениями. Освоили обращение к элементам массивов как при помощи оператора имя[индекс], так и посредством методики *(адрес+смещение). Изучили понятия: адрес массива, адрес элемента массива, смещение, индекс. Освоили пошаговую трассировку программы с массивами, научились отражать в окне watch элементы массива и их адреса. Научились передавать массив в функцию.

Соседние файлы в предмете Информационные технологии
  • #
    09.07.20212.06 Mб0Лабораторная работа №4.ncb
  • #
    09.07.2021991 б0Лабораторная работа №4.sln
  • #
    09.07.202116.9 Кб0Лабораторная работа №4.suo
  • #
    09.07.20214.55 Кб0Лабораторная работа №4.vcproj
  • #
    09.07.20211.42 Кб0Лабораторная работа №4.vcproj.MATRIXX.Павел.user
  • #
  • #
    09.07.20212.06 Mб0Лабораторная работа №5.ncb
  • #
    09.07.2021991 б0Лабораторная работа №5.sln
  • #
    09.07.202114.85 Кб1Лабораторная работа №5.suo
  • #
    09.07.20214.55 Кб0Лабораторная работа №5.vcproj
  • #
    09.07.20211.42 Кб0Лабораторная работа №5.vcproj.MATRIXX.Павел.user