Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная_6_Кафка

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

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 44

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

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

Аксенов А. В.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6

Статические массивы

по дисциплине: Информатика

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

Z9411

Кафка Р. С.

номер группы

подпись, дата

инициалы, фамилия

Студенческий билет №

2019/3603

Санкт-Петербург 2020

Цель работы:

Изучение принципов организации статических массивов в языке C++ и методов их обработки. Совершенствование навыков декомпозиции программы на подпрограммы, разработки и отладки программ в IDE.

Порядок выполнения работы:

Разработать программу, решающую поставленную задачу в соответствии с индивидуальным заданием.

Массивы, создаваемые в программе, должны быть статическими.

Разработанная программа должна содержать определение функции, выполняющей индивидуальное задание. Функция должна принимать в качестве параметров массив и его длину (даже несмотря на то, что длина указана в задании), а также другие параметры, если это необходимо, и либо возвращать значение (если она что-то вычисляет), либо иметь тип void (если она изменяет массив).

Вызвать разработанную функцию 2 раза: для массива, заданного в индивидуальном варианте, и для массива другой длины, заданного другим способом (ввод пользователем / генерация псевдослучайных чисел).

Все вводимые пользователем данные должны проверяться на корректность диапазона.

Все операции ввода и вывода, а также вызовы реализованной функции необходимо осуществлять в функции main().

Вариант № 7:

Ввести массив A из 20 целых чисел в диапазоне от -10 до 10. Реализовать функцию нахождения суммы тех элементов массива, чьи индексы совпадают со значением этого элемента.

Текст программы:

#include <iostream>

using namespace std;

void array_sum(int arr[], const int size)

{

int sum = 0;

for (int i = 0; i < size; i++)

{

if (i == arr[i])

{

sum += i;

}

}

cout << endl << "Сумма элементов (где индекс = значению элемента): " << sum << endl;

}

int main()

{

setlocale(LC_ALL, "Russian");

// Для массива, заданного заданием

const int SIZE_A = 20;

int A[SIZE_A] = {0,-5,2,7,4,-9,6,8,8,8,10,-2,1,0,6,-6,0,-8,4,-10};

cout << "Массив A, имеющий длину " << SIZE_A << " : " << endl;

for (int i = 0; i < SIZE_A; i++)

{

cout << "[" << A[i] << "]";

}

cout << endl;

array_sum(A, SIZE_A);

cout << endl;

//Для массива, введённого самостоятельно

const int SIZE_B = 15;

int B[SIZE_B];

for (int i = 0; i < SIZE_B; i++)

{

B[i] = rand() % SIZE_B;

}

cout << "Массив B, имеющий длину " << SIZE_B << " : " << endl;

for (int i = 0; i < SIZE_B; i++)

{

cout << "[" << B[i] << "]";

}

cout << endl;

array_sum(B, SIZE_B);

cin.get();

return 0;

}

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

Вывод:

Я изучил принципы организации статических массивов в языке C++ и методы их обработки. Усовершенствовал свои навыки декомпозиции программы на подпрограммы, разработки и отладки программ в IDE.