16211

Линейный поиск

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

Информатика, кибернетика и программирование

ОТЧЕТ по лабораторной работе №3 по дисциплине Программирование на тему Линейный поиск Вариант 24 1 Постановка задачи В массиве Zn найти наиболее длинную цепочку стоящих подряд попарно различных элементов. ...

Русский

2013-06-20

72.96 KB

6 чел.

ОТЧЕТ

по лабораторной работе №3

по дисциплине Программирование

на тему «Линейный поиск»

Вариант 24

1 Постановка задачи

В массиве Z(n) найти наиболее длинную цепочку стоящих подряд попарно различных элементов.

2 Блок-схема


3 Исходный код

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 WindowsFormsApplication1

{

   public partial class Form1 : Form

   {

       public int size;

       public Form1()

       {

           InitializeComponent();

       }

       private void textBox1_TextChanged(object sender, EventArgs e)

       {

           if (int.TryParse(input_textBox1.Text, out size) && (size < 656))

           {

               run_button1.Enabled = true;

               output_dataGridView1.ColumnCount = size;

               output_dataGridView1.RowCount = 1;

           }

           else run_button1.Enabled = false;

       }

       private void button1_Click(object sender, EventArgs e)

       {

           size = int.Parse(input_textBox1.Text);

           Random rnd = new Random();

           int[] arr = new int[size];

           if (rnd_checkBox1.Checked)

           {

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

               {

                   arr[i] = rnd.Next(20);

                   output_dataGridView1[i, 0].Value = Convert.ToString(arr[i]);

                   output_dataGridView1[i, 0].Style.BackColor = Color.White;

               }

           }

           else

           {

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

               {

                   arr[i] = Convert.ToInt16(output_dataGridView1[i, 0].Value);

                   output_dataGridView1[i, 0].Style.BackColor = Color.White;

               }

           }

           int beg = 0, end = 0, ibeg = 0, iend = 0;

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

           {

               ibeg = i;

               int j = i;

               bool not_equal = true;

               while ((j < size) && (not_equal))

               {

                   for (int k = i; k < j; k++)

                   {

                       if (arr[k] == arr[j]) not_equal = false;

                   }

                   j++;

               }

               if (!not_equal) { iend = j - 1; } else { iend = j; };

               if (iend - ibeg > end - beg)

               {

                   end = iend;

                   beg = ibeg;

               }

           }

           for (int i = beg; i < end; i++)

           {

               output_dataGridView1[i, 0].Style.BackColor = Color.Red;

           }

           int length = end - beg;

           label1.Text = "Длина цепочки: " + length;

      }

   }

}

4 Пример работы

На рисунке 1 показан пример работы программы:

Рисунок 1 Выполнение программы


 

А также другие работы, которые могут Вас заинтересовать

17315. Створення DLL-бібліотеки 63.99 KB
  Лабораторна робота 1. Створення DLLбібліотеки Мета роботи: 1. Створення DLLбібліотеки 2. Створення рішення з кількох проектів модулів 3. Створення DLLбібліотеки як окремого рішення. 4. Вивчення структури збірки метаданих збірки В платформі Microsoft .NET реалізовано ком...
17316. Візуальне програмування – робота з БД Компонентне програмування – робота з обєктами БД 215.38 KB
  Лабораторна робота 3. Візуальне програмування робота з БД Компонентне програмування робота з об'єктами БД. 2 год Мета роботи: Зв'язування даних з елементами управління ListBox і TextBox У палітрі компонентів Toolbox відкрийте вкладку Data і перетягніть на форму компонент...
17318. Візуальне програмування – робота з БД Компонентне програмування – робота з обєктами БД 67 KB
  Лабораторна робота 4. Візуальне програмування робота з БД Компонентне програмування робота з об'єктами БД. 2 год Мета роботи: Додавання оновлення і видалення даних Розмістіть на формі дві кнопки Button які налаштуйте відповідно до таблиці властивостей ...
17319. Компонентне програмування – робота з обєктами БД 1.17 MB
  Лабораторна робота 5 Компонентне програмування робота з об'єктами БД. Мета роботи: 1. Розробка інформаційної моделі схеми бази даних 2. Відображення даних із зв'язаних таблиць 1. Розробка інформаційної моделі схеми бази даних Розробка діаграми дозволяє візуа...
17320. Робота з XML-документами 22.45 KB
  Парадигми програмування Кредит 2 Лабораторна робота 6. Робота з XMLдокументами Мета роботи: Створення і обробка XMLдокументів Завдання для самостійної роботи 1. Виконати приклади лекцій 910 і продемонструвати їхню роботу. 2. Створити проекти з аналогічною функц...
17321. Основы XML 470 KB
  PAGE 13 Лекция 7. Основы XML План 1. Определение и структура XMLдокумента 2. Создание XMLдокумента 3. Способы отображения XMLдокумента. 4. Правила создания корректного XMLдокумента 1. Определение и структура XMLдокумента Любой документ можно представи
17322. Работа с XML в .NET 399.72 KB
  Лекция 8. Работа с XML в .NET План 1. Классы для работы с XML .NET 2. Чтение и запись потоков данных Xml 2.1. Использование класса XmlReader 2.2. Методы чтения данных 2.3. Контроль типов данных при чтении Xmlдокумента 3. Создание XMLдокумента в Visual Studio 1. Классы для работы с XML .NET Мно
17323. Создание XML-документов в .NET 123.45 KB
  Лекция 9. Создание XMLдокументов в .NET План 1. Использование класса XmlWriter запись потоков данных Xml 2. Использование DOM в .Net 2.1. Чтение XMLдокумента с помощью XmlNodeList 2.2. Вставка элементов узлов в XML документ 3. Обработка атрибутов 3.1. Извлечение атрибутов с помощью XmlRead...