Предмет: Информатика, автор: alfa010010100

Задан массив из N целых чисел от 1 до 3. Определить, входит ли в него последовательность символов 123, если да, то сколько раз и с каких позиций (N> 3).

пожалуйста помогите​

Ответы

Автор ответа: AllexeyDo122
0

unit ZadanieGUIpr060unit1;

{$mode objfpc}{$H+}

interface

uses

 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

 { TForm1 }

 TForm1 = class(TForm)

   Button1: TButton;

   Memo1: TMemo;

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

 public

 end;

var

 Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);

const

 n = 100;

var

 na: integer; {Переменная для хранения значения количества элементов массива}

 i: integer;  {Вспомогательная переменная для организации массива}

 k: integer;  {Переменная для хранения значения количества совпадений заданной последовательности}

 Err: boolean; {Вспомогательная переменная для корректного выхода из цикла}

 a: array [1..N] of '0'..'9'; { Переменная для хранения массива}

 s,s1: string;  {Промежуточные переменные для преобразования строковой информации}

begin

 Memo1.Clear;     {Очистка компонента Memo от информации}

 Err:= false;     {Начальные установки переменных}

 k:= 0;

 s:= '';

 repeat

   s:= InputBox('Ввод количества элементов', 'Введите количество элементов, которые будете вводить в массив (не более '+ inttostr(n)+')', '10');

   if TryStrToint(s,na) and (na <= n )then   {Проверка ввода на входимость в диапазон}

     break

   else

     MessageDlg ('Ошибка ввода!',mtError,[mbYes],0);

 until false;

 s:= '';

 s1:= '0';

 for i:= 1 to na do

   begin

     repeat

       if InputQuery('Ввод значений элемента', 'Введите значение ' + inttostr(i) + ' элемента: ', s1) then

         begin

           if (s1[1] in ['0'..'9']) then  {Проверка ввода на входимость в диапазон}

             break

           else

             MessageDlg ('Ошибка ввода!',mtError,[mbYes],0);

         end

       else

         begin

           MessageDlg ('Досрочный выход из режима ввода информации! Программа не выполнит своих задач.',mtInformation,[mbYes],0);

           Err:= true;  {Регистрация досрочного выхода из режима ввода информации}

           break;

         end;

     until false ;

     if Err then {Если обнаружен досрочный выход из режима ввода, то происходит выход из цикла}

       break;

     a[i]:= s1[1];     { Запоминание введенного символа в массиве}

     s:= s + '  ' + s1;  {Составление полной строки из элементов массива}

     s1:= '0';         { Очистка промежуточной переменной от предыдущего значения}

     Memo1.Clear;       { Очистка компонента Memo1 от информации}

     Memo1.Text:= s;    { Вывод в компонент Memo1 информации о хранящихся символах в массиве}

   end;

   if Err then

     Memo1.Lines.Add('Ввод информации в массив был аварийно завершен. Программа не может выполнить свою задачу.')

   else

     begin

       for i:= 1 to na-2 do

         if (a[i] = '1') and (a[i+1]= '2') and (a[i+2] = '3') then { Условие для проверки совпадений последовательности}

           inc(k);  {Подсчет количества совпадений}

       if k = 0 then   { Отображение ответа в зависимости от значения счетчика совпадений}

         Memo1.Lines.Add('В данном массиве последовательность чисел 1,2,3 не обнаружена. ')

       else

         Memo1.Lines.Add('В данном массиве обнаружена последовательность чисел 1,2,3. Она встречается ' + inttostr(k) +' раз.')

     end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

 Memo1.Clear;

end;

end.


alfa010010100: как всё сложно. а можно обычный паскаль, пожалуйста
AllexeyDo122: 533541!
alfa010010100: чего
Похожие вопросы
Предмет: Математика, автор: henykmisha121
Предмет: Українська мова, автор: petrenkamikhail
даю 100 срочна
2.До чоловічого роду належать усі іменники в рядку:
А насип, івасі, авеню, обитель
Б фрау, кенгуру, Токіо, журі
В маестро, пюре, кір, Кіліманджаро
Г нежить, шампунь, собака, ступінь
6. Правильно узгоджено прикметники та займенники з іменниками:
А кумедне кенгуру, молода леді, рожевий фламінго
Б повноводе Конго, швидке таксі, вчена ступінь
В малий замазура, нове пальто, непосидюче хлоп’я
Г старовинне піаніно, багатолюдний Тбілісі, кольорове драже
7.Укажіть рядок, де всі іменники мають форму тільки однини:
А молоко, мужність, канікули
Б птах, непосида, городина
В бензин, Дніпро, геройство
Г професура, Карпати, жіноцтво
9. В орудному відмінку однини подовжуються всі іменники в рядку:
А сіл..ю, міц..ю, кров..ю, радіст..ю
Б ненавист..ю, матір..ю, міц..ю, ніжніст..ю
В піч..ю, блакит..ю, річ..ю, печал..ю
Г памороз..ю, свіжіст..ю, жовч..ю, дикіст..ю
10. В орудному відмінку однини всі іменники пишуться з апострофом у рядку:
А молодіст..ю, кіновар..ю, маз..ю, старіст..ю
Б тін..ю, молод..ю, верф..ю, сіл..ю
В жовч..ю, фальш..ю, гордіст..ю
Г матір..ю, кров..ю, Об..ю, любов..ю
12. Закінчення -у (-ю) у формі кличного відмінка мають усі іменники в рядку:
А друг, орел, голуб, Маруся
Б гусляр, Тиміш, Катруся, сторож
В кінь, син, тато, Богдан
Г лікар, Джек, Віталій, край