1 семестр / лр 10
.docxУчреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра информационных систем и технологий
ОТЧЕТ
по лабораторной работе №10
Одномерные массивы
Выполнила: студентка ФИТ группы № 9 Каленик Алина
Проверила: Пустовалова Наталья Николаевна
Минск 2020
Лабораторная работа №10
Задание №1
Удалить элементы, индексы которых кратны 7. Добавить после каждого нечетного элемента массива элемент со значением 4.
#include<iostream>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
const int a = 100;
int arr[a]; float n;
cout << "Введите размер массива (n < 100) ";
cin >> n;
if ((n <= 99) && (n - (int)n == 0))
{
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{
arr[i] = rand() % 100;
if (((i / 10 - 2 * (i % 10)) % 7 != 0) || (i == 0))
{
if (arr[i] % 2 != 0)
{
arr[i + 1] = 4;
cout << arr[i] << " " << arr[i + 1] << " ";
++i;
}
else
cout << arr[i] << " ";
}
}
}
else
{
cout << "Ваше число не соответствует условию, попробуйте еще раз";
}
}
Задание №2
Задан массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, а все остальные – в конец.
#include<iostream>
#include<locale>
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
const int a = 100;
int arr[a]; float n;
cout << "Введите размер массива (n < 100) ";
cin >> n;
if ((n <= 99) && (n - (int)n == 0))
{
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{
arr[i] = (rand() % 200)-100;
if (arr[i]<0)
cout << arr[i] << " ";
}
for (int i = 0; i < n; i++)
{
if (arr[i] >= 0)
cout << arr[i] << " ";
}
}
else
{
cout << "Ваше число не соответствует условию, попробуйте еще раз";
}
}
Дополнительное задание
Имеются результаты n ежедневных измерений количества выпавших осадков. За какую из недель (отрезок времени длиной 7 дней), считая с начала периода измерений, выпало наибольшее количество осадков?
#include<iostream>
#include<locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
const int r = 100;
int arr[r], a, y, x, i = 0, s = 0, t = 0, b = 0; float n;
cout << "Введите количество дней (n < 100) ";
cin >> n;
if ((n <= 99) && (n - (int)n == 0))
{
srand((unsigned)time(NULL));
cout << "Количество осадков каждодневно: ";
for (i; i < n; i++)
{
arr[i] = rand() % 40;
cout << arr[i] << " ";
}
cout << endl;
if (n > 7)
{
i = 0;
for (a = 7; a <= n; a += 7)
{
s = 0;
for (i; i < a; i++)
s += arr[i];
t++;
if (s > b)
{
b = s;
x = t;
}
}
a = ((int)n/7)* 7;
y = n - a;
s = 0;
for (i; i < n; i++)
s += arr[i];
t++;
if (s > b)
{
b = s;
x = t;
}
cout << "Самое большое количество осадков, равное " << b << ", выпало на " << x << " неделе\n";
}
else
{
for (i = 0; i < n; i++)
s += arr[i];
cout << "Самое большое количество осадков, равное " << s << ", выпало на 1 неделе\n";
}
}
else
cout << "Ваше число не соответствует условию, попробуйте еще раз\n";
}
да