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 Выполнение программы


 

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

35735. МОДУЛЬНОЕ ОРИГАМИ. ТВОРЧЕСКИЙ ПРОЕКТ 27 KB
  Создать изделия в технике МОДУЛЬНОЕ ОРИГАМИ. Задачи: познакомиться с техникой модульное оригами научиться делать сам модуль научиться соединять модули в изделие исследовать интерес к технике оригами.
35736. ТВОРЧЕСКИЙ ПРОЕКТ ПО ТЕХНОЛОГИИ Вышивка гладью «Бордовые маки» 7.94 MB
  Немного из истории вышивки гладью. Во времена Моисея искусство вышивки было сильно развито; особенно славился своим искусством Ахалиаб из колена Дана. При византийских царях искусство вышивки достигло высокой степени совершенства как по богатству так и по исполнению. Сначала узоры для вышивки переходили из рук в руки и копировались самими вышивальщицами что нередко представляло им большие затруднения; после изобретения книгопечатания узоры сделались более доступными они собирались и издавались в специальных с этой целью книгах.
35737. Творческое задание по информатике «Мой собственный проект» 34 KB
  Выполнение проекта составляет проектную деятельность которая включает: проведение управленческих мероприятий проектное управление. Продуктами проекта могут быть: результаты маркетинговых исследований маркетинг проектноконструкторская документация управление проектированием. Обратим внимание на то что значение слова проект в управленческой и научнотехнической деятельности отличаются технологическая документация управление производством программное обеспечение управление проектами и т.; решение внутренних...
35738. Проект «На пересечении трёх границ» 40.5 KB
  межкультурное образование региональное образование Краткое описание проекта: Работа по мультикультурному наследию Сейненщизны осуществляется в рамках волонтариата охране культурного ландшавта и реализуется Культурным центром Пограничье она приносит знания о религиозном и этническом разнообразии населения региона а также богатстве культурных мест тем самым спасая их от забывания. Благодаря познавательной и учебной пользе проекта участники смогут узнать один из мультикультурных аспектов региона в котором они живут. Полное описание...
35741. Творческие проекты 77 KB
  Выполнение творческих проектов производится в подгруппах численностью не более 5 студентов в рамках самостоятельной работы общим объемом 2 часа в неделю под руководством преподавателя ответственного за подготовку и реализацию творческого проекта. Сложность выполняемых проектов по семестрам должна устанавливаться в соответствии с перечнем результатов обучения планируемых к достижению в предыдущем учебном семестре по отношению к семестру выполнения творческого проекта. Институт выпускающая кафедра направление подготовки профиль подготовки...
35743. Мой друг. Творческая работа 27 KB
  Хорошо когда рядом есть верный друг с ним можно посоветоваться доверить тайну. Настоящий друг никогда не придаст всегда придёт на помощь. Мы дружим друг с другом с раннего детства.