Вы находитесь на странице: 1из 3

Министерство образования Республики Беларусь

Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет информационных технологий и управления

Кафедра информационных систем и технологий (в игровой индустрии)

ОТЧЕТ
по лабораторной работе

«РЕАЛИЗАЦИЯ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ»

Студент гр. 124402 В.С. Буляк


Проверила О.О. ШАТИЛОВА

Минск 2021
Цель

Изучить составной тип данных - массив, написать и отладить


программу с использованием одномерных массивов.

Вариант 7

Общая постановка задачи

2. Для одномерного массива, состоящего из n значений (n - не более


20), решить поставленную задачу. Предусмотреть ввод значений массива как
с клавиатуры, там и с помощью заполнения случайными числами. Выводить
сообщение в случае невозможности выполнения поставленной задачи.

#include <iostream>
#include <cmath>
#include <locale.h>
#include <cstdlib>
int main()
{
std::setlocale(0, "Russian");
int n, How, i, k, posPlus = 0, posMinus = 0;
double a[20], sum;
bool nal;
std::cout << "Введите размер массива (не больше 20)\n";
std::cin >> n;
if (n > 20)
{
std::cout << "Размер должен быть не больше 20(автоматически
поставлен 20)\n";
n = 20;
}
std::cout << " Выберите как заполнить массив:\n в ручную(1)\n
автоматически(2)\n";
std::cin >> How;
switch (How)
{
case 1: for (i = 0; i < n; i++) std::cin >> a[i]; break;
default:std::cout << "Введен неправильный номер. Автоматически выбран
вариант 2\n";
case 2: for (i = 0; i < n; i++)
a[i] = rand() % 201 + (-100); break;
}

for (i = 0, sum = 0, nal = true; i < n; i++)


{

if (a[i] > 0)
{
posPlus = i;
nal = true;
for (k = i + 1; k < n; k++)
if (a[k] < 0)
{
posMinus = k;
nal = true;
}
else
nal = false;
break;
}
else
nal = false;
}
if (posPlus > posMinus)
std::cout << "Значения массива не удовлетворяют условию\n";
else
if (nal == false) std::cout << "нету отрицательных или
положительных значений\n";
else
if (posMinus == posPlus + 1)
std::cout << "Полож. и отриц. рядом\n";
else
{
for (i = posPlus + 1; i > posPlus && i < posMinus; i+
+)
sum += a[i];
std::cout << "Сумма= " << sum << std::endl;
}
system("pause");
}

Вывод
Потратив 2 дня смог познать составной тип – массив и смог написать и
отладить программу с использованием одномерного массива.