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

1 семестр / лр 10

.docx
Скачиваний:
38
Добавлен:
16.12.2020
Размер:
69.89 Кб
Скачать

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»

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

ОТЧЕТ

по лабораторной работе №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";

}

да

Соседние файлы в папке 1 семестр