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


 

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

55820. А. Малишка, «Пісня про рушник» 64 KB
  Малишка з Піснею про рушник; удосконалювати навички виразного читання; формувати навички аналізу поетичного твору; виховувати любов до рідного слова. МЕТАобслуговуюча праця: домогтися глибокого осмислення учнями значення рушника в житті рідного народу вироблення душевної потреби берегти його як сімейний скарб бажання вишити свій рушник; виховувати в учнів почуття гордості за свій народ свою національну культуру виховувати почуття національної самосвідомості любов до рідного краю пошану до народних майстрів.Малишка грамзапис Пісні...
55821. Русская народная сказка «Репка» 34 KB
  Цель: Знакомство с содержанием русской народной сказки Репка. Коломыткина сказка Репка в иллюстрациях лист ватмана с рисунком фоном сказки Репка сказочные персонажи трафарет репки шестигранный карандаш цветные карандаши посылочный ящик для сюрпризного момента. В руках у меня книжка посмотрите и скажите как называется...
55822. Падежное управление 61.5 KB
  Вспомним чем служебные части речи отличаются от самостоятельных На какие три группы делятся служебные части речи Для чего служат союзы Частицы Предлоги Как называются словосочетания в которых для связи слов используются предлог Приведите пример.
55824. Правописание гласных в приставках ЗА- НА- НАД- 44 KB
  Цель: научить детей правильно писать приставки с гласной буквой А. Обучить детей правильно писать приставки. Закрепить умения детей находить приставки в словах. Давайте выделим приставки поставим ударение и подчеркнём букву безударного гласного в приставках.
55825. Правописание О-Е после шипящих и Ц в окончаниях существительных 64 KB
  Цель урока: обучающая: познакомить учащихся с орфограммой и её графическим обозначением на письме; формировать умение распознавать условия выбора орфограммы: часть речи часть слова ударение...
55826. Глаголы - исключения 48 KB
  Цель: познакомить учащихся с глаголами-исключениями, продолжить работу по определению спряжения глаголов и правописанию личных окончаний глаголов...
55827. Имя существительное 57.5 KB
  Цель: Обучить детей различать имя существительное от остальных частей речи и правильно писать окончания с помощью склонений и падежей. Обучить детей правильно писать окончания с помощью склонений и падежей.
55828. Правописание О-Е после шипящих и Ц в окончаниях существительных 54.5 KB
  По вертикали: 4душем 5свечой 6больницей Время на выполнение упражнения 5 минут. На выполнение задания не более 5 минут. Письменное выполнение упражнения в тетрадях. На выполнение задания 8 минут.