Лабораторная_6_Кафка
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 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.