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

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

Автор:   •  Декабрь 15, 2021  •  Лабораторная работа  •  1,532 Слов (7 Страниц)  •  210 Просмотры

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

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

«Обработка одномерных массивов»

  1. Задание на лабораторную работу.

Дан динамический целочисленный массив в диапазоне от -100 до 100. Написать программу, которая в этом находит в этом массиве количество пар соседних элементов массива, произведение которых нечётно, а сумма – положительна. Массив должен быть сгенерирован случайно с помощью соответствующего метода.

Также для выполнения задания следует разработать DLL библиотеку, в которую необходимо поместить нижеперечисленные методы:

  1. Метод enter_mas(int n, params double[] masPtr), предназначенный для генерации массива случайных чисел.
  2. Метод output_mas(int n, DataGridView grid, params double[] masPtr) предназначенный для корректировки столбцов, сточек и ячеек в таблице – DataGridView.
  3. Метод Proc6(int n, ref int k, params double[] masPtr) предназначенный для нахождения количества пар элементов массива, произведение которых нечётно, а сумма – положительна.

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

  1. Блок-схемы алгоритма программы.

На рисунке 1 представлена блок-схема процедуры Proc6(int n, ref int k, params double[] masPtr).

[pic 1]

Рисунок 1 – Блок-схема процедуры Proc6().

Событийная блок-схема представлена на рисунке 2.

[pic 2]

Рисунок 2 – Событийная блок-схема.

  1. Программный код.

ArrayClass2.cs

using System;

using System.Windows.Forms;

namespace ArrayLibrary2

{

    public class ArrayClass2

    {

        public static void enter_mas(int n, params double[] masPtr)

        {

            Random a = new Random();

            for (int i = 0; i < n; i++)

                masPtr[i] = (double)(a.Next(-100, 100));

        }

        public static void output_mas(int n, DataGridView grid, params double[] masPtr)

        {

            grid.ColumnCount = n;

            grid.RowCount = 2;

            for (int i = 0; i < n; i++)

            {

                grid.Rows[0].Cells[i].Value = "[" + i + "]";

                grid.Rows[1].Cells[i].Value = masPtr[i];

            }

            int Width = 0;

            for (int s = 0; s < grid.ColumnCount; s++)

                Width += grid.Columns[s].Width;

            if (Width > 1200)

                grid.Width = 1200;

            else

                grid.Width = Width;

        }

        public static void Proc6(int n, ref int k, params double[] masPtr)

        {

            k = 0;

            for (int i = 0; i < (n-1) ; i++)

            {

                if (((masPtr[i] * masPtr[i + 1]) % 2 == 1) && (masPtr[i] + masPtr[i + 1] > 0))

                    k++;

            }

        }

    }

}

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace проба_лабы2

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

        }

        private void CloseButton_Click_1(object sender, EventArgs e)

...

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