Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Робота з масивами

Автор:   •  Апрель 10, 2025  •  Лабораторная работа  •  688 Слов (3 Страниц)  •  141 Просмотры

Страница 1 из 3

Лабораторна робота №1

Робота з масивами

1. Мета роботи

Метою лабораторної роботи є отримання практичних навичок в роботі з масивами в мові C ++.


2. Теми для попереднього вивчення

  • Оператори циклу мови C++. Вкладені цикли.
  • Умовний оператор мови C++.
  • Масиви.

3. Завдання до виконання

     Оголосити масив цілих чисел і заповнити його випадковими значеннями. Розмір масиву і діапазон значень його елементів задані в Вашому варіанті індивідуального завдання. В індивідуальних завданнях зазначено також, яку обробку масиву слід зробити.

     Для всіх варіантів завдання слід мати на увазі наступне:

  • 0 вважається позитивним числом, якщо в завданні не обговорений якийсь інший його статус;
  • коли мова йде про якiсь послідовності чисел, мається на увазі послідовність з довжиною, більшою 1;
  • в тих випадках, коли завдання вимагає виконання якихось обчислень, дозволяється виконувати їх з тією точністю, яку забезпечують операції цілочисельної арифметики.

Вариант №12


варіанта

розмірність

масиву

Діапазон

значень

Що потрібно зробити

12

200

-100 - 100

У всіх послідовностях позитивних чисел замінити значення елементів з максимальним і мінімальним значенням на середнє для цієї послідовності

Текст програми:
import random

size
= 200
value_range = (-100, 100)

arr = [random.randint(*value_range) for _ in range(size)]

print(f'Init arr: {str(arr)[:150]}...')

min_item, max_item, l, start = [-1, float('inf')], [-1, -1], 0, -1

for i, v in enumerate(arr):
   if
v >= 0:
       if
l == 0:
           
start = i
       
if v < min_item[1]:
           
min_item = [i, v]
       
if v > max_item[1]:
           
max_item = [i, v]
       
l += 1
   
elif l:
       if
l > 1:
           
sequence = arr[start:start + l]
           
avg = int(sum(sequence) / len(sequence))
           
print(f'{sequence=}, {avg=}, min: {min_item[1]}, max: {max_item[1]}')
           
arr[min_item[0]] = avg
           arr
[max_item[0]] = avg
       min_item
, max_item, l = [-1, float('inf')], [-1, -1], 0

print(f'Arr: {str(arr)[:150]}...')

Результат роботи:

Init arr: [4, -77, 70, -50, 86, -43, 39, 69, -51, 73, 2, 94, 36, 29, -44, -79, -19, -86, 2, -52, -97, -89, -80, -24, 75, -26, -41, -96, 83, -70, 10, 56, -92, 97...

Init arr: [4, -77, 70, -50, 86, -43, 39, 69, -51, 73, 2, 94, 36, 29, -44, -79, -19, -86, 2, -52, -97, -89, -80, -24, 75, -26, -41, -96, 83, -70, 10, 56, -92, 97...
sequence=[39, 69], avg=54, min: 39, max: 69
sequence=[73, 2, 94, 36, 29], avg=46, min: 2, max: 94
sequence=[10, 56], avg=33, min: 10, max: 56
sequence=[97, 51, 99], avg=82, min: 51, max: 99
sequence=[81, 12], avg=46, min: 12, max: 81
sequence=[51, 14], avg=32, min: 14, max: 51
sequence=[6, 52, 10], avg=22, min: 6, max: 52
sequence=[55, 56, 77, 53, 65], avg=61, min: 53, max: 77
sequence=[84, 14], avg=49, min: 14, max: 84
sequence=[58, 40, 94], avg=64, min: 40, max: 94
sequence=[85, 74], avg=79, min: 74, max: 85
sequence=[44, 96], avg=70, min: 44, max: 96
sequence=[22, 76, 6, 100, 36], avg=48, min: 6, max: 100
sequence=[89, 69, 38], avg=65, min: 38, max: 89
sequence=[35, 61], avg=48, min: 35, max: 61
sequence=[30, 55], avg=42, min: 30, max: 55
sequence=[45, 63, 10], avg=39, min: 10, max: 63
sequence=[38, 14, 70], avg=40, min: 14, max: 70
sequence=[25, 15], avg=20, min: 15, max: 25
sequence=[66, 9, 79, 36], avg=47, min: 9, max: 79
sequence=[21, 43, 36], avg=33, min: 21, max: 43
sequence=[100, 45, 12], avg=52, min: 12, max: 100
sequence=[76, 0, 3], avg=26, min: 0, max: 76
sequence=[14, 9], avg=11, min: 9, max: 14
sequence=[49, 61, 42], avg=50, min: 42, max: 61
sequence=[60, 14, 48], avg=40, min: 14, max: 60
sequence=[81, 45], avg=63, min: 45, max: 81
sequence=[12, 67], avg=39, min: 12, max: 67
Arr: [4, -77, 70, -50, 86, -43, 54, 54, -51, 73, 46, 46, 36, 29, -44, -79, -19, -86, 2, -52, -97, -89, -80, -24, 75, -26, -41, -96, 83, -70, 33, 33, -92, 9...

...

Скачать:   txt (5.1 Kb)   pdf (198.7 Kb)   docx (197.6 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club