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

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики»

Центр заочного обучения по программам бакалавриата

Кафедра «Математической кибернетики и информационных технологий»

Дисциплина: Технологии программирования

Лабораторная работа №5

Определение характеристик одномерных массивов

Выполнил: Иванов И.И,, студент группы БСТ17XX Вариант №7

Проверил: Клешнин Н.Г.

Москва, 2021

Введение

В данной лабораторной работе мы изучаем создание программы, позволяющей произвести проверку попадания точки в область на плоскости. Необходимо написать программу, которая будет удовлетворять заданным условиям, указанным в варианте задания.

Задание

Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от A до B, где A и B задаются в директивах #define) или ввести его элементы с клавиатуры и определить его характеристики в соответствии с вариантом.

Программа должна содержать следующие функции:

  • инициализация элементов массива случайными числами или вводимыми с клавиатуры;

  • вывод массива на экран.

Вариант задания

Уровень B

Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от A до B, где A и B задаются в директивах #define) или ввести его элементы с клавиатуры и определить его характеристики в соответствии с вариантом.

Программа должна содержать следующие функции:

  • инициализация элементов массива случайными числами или вводимыми с клавиатуры;

  • вывод массива на экран.

B7. Напечатать все те элементы массива, сумма цифр в которых находится в интервале от L до R.

Код программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace lab5

{

class Program

{

static void Main(string[] args)

{

const int A = -100;

const int B = 100;

Console.Write("Введите длину массива: ");

int size = Convert.ToInt32(Console.ReadLine());

int[] arr = new int[size];

Console.WriteLine("Введите: \t1 - для заполнения массива случайными числами \n\t\t2 - для ручного заполнения массива ");

int choice = 0;

do

{

choice = Convert.ToInt32(Console.ReadLine());

if (choice == 1)

randArray(ref arr, A, B);

else

{

if (choice == 2)

inputArray(ref arr);

else

choice = 0;

}

}

while (choice == 0);

showArray(arr);

Console.Write("Введите значение L: ");

int L = Convert.ToInt32(Console.ReadLine());

Console.Write("Введите значение R: ");

int R = Convert.ToInt32(Console.ReadLine());

indTask(arr, L, R);

Console.ReadKey();

}

static void randArray(ref int[] arr, int A, int B)

{

Random r = new Random();

for (int i = 0; i < arr.Length; i++)

{

arr[i] = r.Next(A, B);

}

}

static void inputArray(ref int[] arr)

{

for (int i = 0; i < arr.Length; i++)

{

Console.Write($"Введите {i}-й элемент массива: ");

arr[i] = Convert.ToInt32(Console.ReadLine());

}

}

static void showArray(int[] arr)

{

Console.WriteLine("Получившийся массив:");

for (int i = 0; i < arr.Length; i++)

Console.Write($"{arr[i]} ");

Console.WriteLine();

}

static void indTask(int[] arr, int L, int R)

{

Console.WriteLine("Элементы массива, сумма цифр в которых находится в интервале от L до R:");

for (int i = 0; i < arr.Length; i++)

{

int currentElement = Math.Abs(arr[i]);

int len = currentElement.ToString().Length;

int summ = 0;

for (int j = 1; j <= len; j++)

{

summ += (currentElement % 10);

currentElement = (int)(currentElement / 10);

}

if (summ > L && summ < R)

Console.Write($"{arr[i]} ");

}

}

}

}

Результаты работы программы

Заключение

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

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