16211

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

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

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

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

Русский

2013-06-20

72.96 KB

5 чел.

ОТЧЕТ

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


 

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

70115. Текстовий процесор Microsoft Word. Робота з таблицями, графічними зображеннями та редактором формул 1010 KB
  Мета роботи:Ознайомитись з основними поняттями та принципами роботи з текстовим процесором Microsoft Word. Навчитись налаштовувати робоче середовище процесора, форматувати текст, працювати з графічними зображеннями, таблицями та підпрограмою Microsoft Equation.
70116. Формирование и развитие организаций 553.5 KB
  Факторы влияющие на развитие организаций № Факторы Способствуют Затрудняют 1 Природные ресурсы России 2 Трудовые ресурсы России 3 Территория страны 4 Национальный менталитет 5 Международные отношения 6 Государственно-политическое устройство страны...
70117. Подсчет суммы элементов квадратной матрицы, полученной из клавиатуры 55.5 KB
  Написать одну программу, с помощью которой можно задать размер квадратной матрицы. При этом размер должен быть нечётным числом и больше 7. При помощи генератора случайных чисел инициализировать матрицу целыми числами в диапазоне от -20 до +5.
70118. Изучение оператора цикла For 53 KB
  Это условие проверяется перед началом выполнения цикла, а затем—после каждого прибавления шага к счётчику цикла в операторе Next. Если оно выполнено, управление передается на оператор, следующий за Next, нет—выполняются операторы из тела цикла.
70119. Применение текстовых и календарных функций 40.5 KB
  Дан список сотрудников фирмы, содержащий паспортные данные (фамилию, имя, отчество, дату рождения, дату зачисления в состав фирмы). По этому списку составить список, содержащй следующие данные (фамилию и инициалы, возраст, рабочий стаж в фирме).
70121. ЭЛЕКТРОННАЯ ТАБЛИЦА EXCEL. ДИАГРАММЫ. ЗАДАЧА О ТРАЕКТОРИИ ДВИЖЕНИЯ ТЕЛА 2.07 MB
  Перед вызовом Мастера диаграмм предпочтительно выделить диапазоны ячеек содержащих информацию которая должна использоваться при создании диаграммы.2 Мастер диаграмм осуществляет пошаговое руководство процессом создания диаграммы.