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

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

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

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

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

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

Модификация одномерных массивов

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

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

Москва, 2021

Введение

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

Задание

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

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

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

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

  • вычисление минимального/максимального элемента массива.

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

Уровень A

A7. Заменить все нечетные значения целочисленного массива на модуль минимального элемента.

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace lab6

{

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);

Console.WriteLine("Исходный массив:");

showArray(arr);

int min = searchMin(arr);

indTask(ref arr, min);

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)

{

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

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

Console.WriteLine();

}

static int searchMin(int[] arr)

{

int min = arr[0];

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

{

if (arr[i] < min)

min = arr[i];

}

return min;

}

//static int searchMax(int[] arr)

//{

// int max = arr[0];

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

// {

// if (arr[i] > max)

// max = arr[i];

// }

// return max;

//}

static void indTask(ref int[] arr, int min)

{

Console.WriteLine("Массив, после замены нечетных чисел на модуль минимального элемента:");

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

{

min = Math.Abs(min);

if (arr[i] % 2 != 0)

{

arr[i] = min;

}

}

showArray(arr);

}

}

}

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

Заключение

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

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