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

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

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

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

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

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

Обработка и модификация двумерных массивов

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

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

Москва, 2021

Введение

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

Задание

Требуется определить двумерный массив a целых чисел (например, размера 5×7), заполнить его случайными числами или ввести его элементы с клавиатуры и в одномерный массив b записать характеристики двумерного массива a в соответствии с вариантом задания.

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

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

  • лами или вводимыми с клавиатуры;

  • заполнение одномерного массива в соответствии с заданием;

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

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

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

Уровень A

A7. Найти суммы положительных элементов, не делящихся на 3, каждого столбца матрицы a(5, 7) и сохранить их в одномерном массиве b.

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace lab8

{

class Program

{

static void Main(string[] args)

{

const int A = -100;

const int B = 100;

Console.Write("Введите количество строк: ");

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

Console.Write("Введите количество столбцов: ");

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

int[,] matr = new int[rows, cols];

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

int choice = 0;

do

{

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

if (choice == 1)

randMatrix(matr, A, B);

else

{

if (choice == 2)

inputMatrix(matr);

else

choice = 0;

}

}

while (choice == 0);

showMatrix(matr);

int[] arr = new int[cols];

indTask(matr, arr);

showArray(arr);

Console.ReadKey();

}

static void randMatrix(int[,] matr, int A, int B)

{

Random r = new Random();

for (int i = 0; i < matr.GetLength(0); i++)

{

for (int j = 0; j < matr.GetLength(1); j++)

{

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

}

}

}

static void inputMatrix(int[,] matr)

{

for (int i = 0; i < matr.GetLength(0); i++)

{

for (int j = 0; j < matr.GetLength(1); j++)

{

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

matr[i, j] = Convert.ToInt32(Console.ReadLine());

}

}

}

static void showMatrix(int[,] matr)

{

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

for (int i = 0; i < matr.GetLength(0); i++)

{

for (int j = 0; j < matr.GetLength(1); j++)

{

Console.Write($"{matr[i, j]}\t");

}

Console.WriteLine("");

}

Console.WriteLine("");

}

static void showArray(int[] arr)

{

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

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

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

Console.WriteLine();

}

static void indTask(int[,] matr, int[] arr)

{

for (int j = 0; j < matr.GetLength(1); j++)

{

int summ = 0;

for (int i = 0; i < matr.GetLength(0); i++)

{

if (matr[i,j] > 0 && matr[i,j] % 3 > 0)

{

summ += matr[i, j];

}

}

arr[j] += summ;

}

}

}

}

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

Заключение

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

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