<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414206&amp;view=findpost&amp;p=3789182</guid>
        <pubDate>Wed, 30 Jan 2019 11:47:38 +0000</pubDate>
        <title>C++ дополнить программу вводном начальной цепочки</title>
        <link>https://forum.sources.ru/index.php?showtopic=414206&amp;view=findpost&amp;p=3789182</link>
        <description><![CDATA[AlexBrookman: Добрый день, всем&#33;<br>
<br>
Помогите, пожалуйста, с заданием:<br>
<br>
Это программа для генерации регулярной грамматики. <br>
Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек. <br>
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.<br>
<br>
Задача: Добавить еще на вход ввод начальной подцепочки &#33;&#33;&#33; StringStart<br>
Подскажите пож., как это сделать грамотно. Спасибо&#33;<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#pragma hdrstop</div><div class="code_line">#include &quot;Unit1.h&quot;</div><div class="code_line">#pragma package(smart_init)</div><div class="code_line">#pragma resource &quot;*.dfm&quot;</div><div class="code_line">TForm1 *Form1;</div><div class="code_line">&nbsp;</div><div class="code_line">const AnsiString Lambda=&quot;л&quot;;</div><div class="code_line">&nbsp;</div><div class="code_line">AnsiString R[26][10];</div><div class="code_line">int Lr[26];</div><div class="code_line">AnsiString Vn, Vt, StringEnd, StringStart;</div><div class="code_line">int K, Min, Max;</div><div class="code_line">bool LL;</div><div class="code_line">&nbsp;</div><div class="code_line">//поиск свободной заглавной буквы латинского алфавита для нетерминального символа</div><div class="code_line">AnsiString __fastcall TForm1::GetVn()</div><div class="code_line">{</div><div class="code_line">&nbsp;for (int i=0;i&#60;26;i++) {</div><div class="code_line">&nbsp;&nbsp;char v=&#39;A&#39;+i;</div><div class="code_line">&nbsp;&nbsp;if (Vn.Pos(v)==0) return AnsiString(v);</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;ShowMessage(&quot;Не хватает заглавных символов латинского алфавита для нетерминальных символов&quot;);</div><div class="code_line">&nbsp;return NULL;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//вычисление длин минимальных цепочек, выводимых из нетерминалов грамматики</div><div class="code_line">void __fastcall TForm1::GetLr()</div><div class="code_line">{</div><div class="code_line">&nbsp;int l=0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;for (int i=0;i&#60;26;i++) Vr[i]=-1;</div><div class="code_line">&nbsp;for (int i=0;i&#60;26;i++) {</div><div class="code_line">&nbsp;&nbsp;if (Vr[i]!=-1) continue;</div><div class="code_line">&nbsp;&nbsp;l=0;</div><div class="code_line">&nbsp;&nbsp;for (int j=0;R[i][j]!=&quot;&quot;;j++) {</div><div class="code_line">&nbsp;&nbsp; if (R[i][j]==Lambda) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;Vr[i]=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int k=1;k&#60;=R[i][j].Length();k++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; int n=Vn.Pos(R[i][j][k]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; if (n==0) l++;</div><div class="code_line">&nbsp;&nbsp; &nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if (Vr[n]!=-1) l+=Vr[n];</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; if ((l&#62;=0)&amp;&amp;((Vr[i]&#60;0)||(Vr[i]&#62;l))) Vr[i]=l;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;for (int i=0;i&#60;26;i++)</div><div class="code_line">&nbsp;&nbsp;if (Vr[i]==-1) Vr[i]=1;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//рекурсивная генерация цепочек языка по построенной грамматике</div><div class="code_line">void __fastcall TForm1::Generate(AnsiString s, AnsiString sgen, int dr)</div><div class="code_line">{</div><div class="code_line">&nbsp;AnsiString sl, sr;</div><div class="code_line">&nbsp;int i, k, l, n;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;if (dr&#62;50) return;</div><div class="code_line">&nbsp;l=s.Length();</div><div class="code_line">&nbsp;for (i=1;i!=l+1;i++)</div><div class="code_line">&nbsp;&nbsp;if ((n=Vn.Pos(s[i]))!=0) break;</div><div class="code_line">&nbsp;if (i==l+1) {</div><div class="code_line">&nbsp;&nbsp;if ((l&#62;=Min)&amp;&amp;(l&#60;=Max)) {</div><div class="code_line">&nbsp;&nbsp; if (s==&quot;&quot;) sgen=sgen+Lambda;</div><div class="code_line">&nbsp;&nbsp; for (int j=0;j&#60;ListBox3-&#62;Items-&#62;Count;j++)</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (ListBox3-&#62;Items-&#62;Strings[j]==s) return;</div><div class="code_line">&nbsp;&nbsp; ListBox1-&#62;Items-&#62;Insert(ListBox3-&#62;Items-&#62;Add(s),sgen);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;return;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;k=i-1;</div><div class="code_line">&nbsp;for (int j=i;j&#60;=l;j++) {</div><div class="code_line">&nbsp;&nbsp;int m=Vn.Pos(s[j]);</div><div class="code_line">&nbsp;&nbsp;if (m==0) k++;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else k+=Vr[m];</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;if (k&#62;Max) return;</div><div class="code_line">&nbsp;sl=s.SubString(1,i-1);</div><div class="code_line">&nbsp;if (sl.Length()&#62;Max) return;</div><div class="code_line">&nbsp;sr=s.SubString(i+1,l-i);</div><div class="code_line">&nbsp;if (sr.Length()&#62;Max) return;</div><div class="code_line">&nbsp;for (i=0;R[n][i]!=&quot;&quot;;i++)</div><div class="code_line">&nbsp;&nbsp;if (R[n][i]==Lambda) Generate(sl+sr,sgen+&quot;-&#62;&quot;+sl+sr,dr+1);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else Generate(sl+R[n][i]+sr,sgen+&quot;-&#62;&quot;+sl+R[n][i]+sr,dr+1);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//построение заданной грамматики</div><div class="code_line">bool __fastcall TForm1::Grammar()</div><div class="code_line">{</div><div class="code_line">&nbsp;AnsiString s, v, v0;</div><div class="code_line">&nbsp;int i, k, j, n;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;N8-&#62;Enabled=false;</div><div class="code_line">&nbsp;N10-&#62;Enabled=false;</div><div class="code_line">&nbsp;Vt=Edit1-&#62;Text;</div><div class="code_line">&nbsp;for (i=1;i&#60;=Vt.Length();i++) {</div><div class="code_line">&nbsp;&nbsp;if (Vt[i]==Lambda[1]) {</div><div class="code_line">&nbsp;&nbsp; ShowMessage(&quot;В алфавите встречается символ, используемый как пустой &#39;л&#39;&quot;);</div><div class="code_line">&nbsp;&nbsp; return false;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;for (j=i+1;j&#60;=Vt.Length();j++)</div><div class="code_line">&nbsp;&nbsp; if (Vt[i]==Vt[j]) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;ShowMessage(&quot;Символ алфавита встречается несколько раз&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;return false;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;StringEnd=Edit2-&#62;Text;</div><div class="code_line">&nbsp;StringStart=Edit4-&#62;Text;</div><div class="code_line">&nbsp;v=&quot;S&quot;;</div><div class="code_line">&nbsp;Vn=v;</div><div class="code_line">&nbsp;K=StrToIntDef(Edit3-&#62;Text,0);</div><div class="code_line">&nbsp;if (K&#60;1) {</div><div class="code_line">&nbsp;&nbsp;ShowMessage(&quot;Ошибка в задании кратности длин цепочек&quot;);</div><div class="code_line">&nbsp;&nbsp;return false;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;for (i=0;i&#60;26;i++)</div><div class="code_line">&nbsp;&nbsp;for (j=0;j&#60;10;j++) R[i][j]=&quot;&quot;;</div><div class="code_line">&nbsp;if (Vt==&quot;&quot;) {</div><div class="code_line">&nbsp;&nbsp;ShowMessage(&quot;Не задан входной алфавит&quot;);</div><div class="code_line">&nbsp;&nbsp;return false;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;for (i=1;i&#60;=StringEnd.Length();i++)</div><div class="code_line">&nbsp;&nbsp;if (Vt.Pos(StringEnd[i])==0) {</div><div class="code_line">&nbsp;&nbsp; ShowMessage(&quot;Посторонний символ в конечной цепочке&quot;);</div><div class="code_line">&nbsp;&nbsp; return false;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;ListBox2-&#62;Items-&#62;Clear();</div><div class="code_line">&nbsp;k=StringEnd.Length()%K;</div><div class="code_line">&nbsp;if (k&#62;0) k=K-k;</div><div class="code_line">&nbsp;n=1;</div><div class="code_line">&nbsp;if (LL) {</div><div class="code_line">&nbsp;&nbsp;if (StringEnd!=&quot;&quot;) {</div><div class="code_line">&nbsp;&nbsp; s=v+&quot;-&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp; v=GetVn();</div><div class="code_line">&nbsp;&nbsp; Vn=Vn+v;</div><div class="code_line">&nbsp;&nbsp; s=s+v+StringEnd;</div><div class="code_line">&nbsp;&nbsp; ListBox2-&#62;Items-&#62;Add(s);</div><div class="code_line">&nbsp;&nbsp; R[1][0]=v+StringEnd;</div><div class="code_line">&nbsp;&nbsp; n++;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;v0=v;</div><div class="code_line">&nbsp;&nbsp;for (i=0;i&#60;K-1;i++,n++) {</div><div class="code_line">&nbsp;&nbsp; s=v+&quot;-&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp; v=GetVn();</div><div class="code_line">&nbsp;&nbsp; Vn=Vn+v;</div><div class="code_line">&nbsp;&nbsp; for (j=1;j&#60;=Vt.Length();j++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+v+Vt[j];</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (j&#60;Vt.Length()) s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;R[n][j-1]=v+Vt[j];</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; if (k==i) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+&quot;|&quot;+Lambda;</div><div class="code_line">&nbsp;&nbsp; &nbsp;R[n][j-1]=Lambda;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; ListBox2-&#62;Items-&#62;Add(s);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;s=v+&quot;-&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp;for (j=1;j&#60;=Vt.Length();j++) {</div><div class="code_line">&nbsp;&nbsp; R[n][j-1]=v0+Vt[j];</div><div class="code_line">&nbsp;&nbsp; s=s+v0+Vt[j];</div><div class="code_line">&nbsp;&nbsp; if (j&#60;Vt.Length()) s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;if (k==i) &nbsp;{</div><div class="code_line">&nbsp;&nbsp; s=s+&quot;|&quot;+Lambda;</div><div class="code_line">&nbsp;&nbsp; R[n][j-1]=Lambda;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;ListBox2-&#62;Items-&#62;Add(s);</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;else { //построение праволинейной грамматики</div><div class="code_line">&nbsp;&nbsp;for (i=0;i&#60;K-1;i++,n++) {</div><div class="code_line">&nbsp;&nbsp; s=v+&quot;-&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp; v=GetVn();</div><div class="code_line">&nbsp;&nbsp; Vn=Vn+v;</div><div class="code_line">&nbsp;&nbsp; for (j=1;j&#60;=Vt.Length();j++) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+Vt[j]+v;</div><div class="code_line">&nbsp;&nbsp; &nbsp;R[n][j-1]=AnsiString(Vt[j])+v;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (j&#60;Vt.Length()) s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; if (k==i) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (StringEnd!=&quot;&quot;) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; R[n][j-1]=StringEnd;</div><div class="code_line">&nbsp;&nbsp; &nbsp; s=s+StringEnd;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;else {</div><div class="code_line">&nbsp;&nbsp; &nbsp; R[n][j-1]=Lambda;</div><div class="code_line">&nbsp;&nbsp; &nbsp; s=s+Lambda;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; ListBox2-&#62;Items-&#62;Add(s);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;s=v+&quot;-&#62;&quot;;</div><div class="code_line">&nbsp;&nbsp;for (j=1;j&#60;=Vt.Length();j++) {</div><div class="code_line">&nbsp;&nbsp; s=s+AnsiString(Vt[j])+&quot;S&quot;;</div><div class="code_line">&nbsp;&nbsp; if (j&#60;Vt.Length()) s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp; R[n][j-1]=AnsiString(Vt[j])+&quot;S&quot;;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;if (k==i) {</div><div class="code_line">&nbsp;&nbsp; s=s+&quot;|&quot;;</div><div class="code_line">&nbsp;&nbsp; if (StringEnd!=&quot;&quot;) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;R[n][j-1]=StringEnd;</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+StringEnd;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; else {</div><div class="code_line">&nbsp;&nbsp; &nbsp;R[n][j-1]=Lambda;</div><div class="code_line">&nbsp;&nbsp; &nbsp;s=s+Lambda;</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;ListBox2-&#62;Items-&#62;Add(s);</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;for (i=1;i&#60;=Vt.Length();i++)</div><div class="code_line">&nbsp;&nbsp;if (Vn.Pos(Vt[i])&#62;0) {</div><div class="code_line">&nbsp;&nbsp; ListBox2-&#62;Items-&#62;Clear();</div><div class="code_line">&nbsp;&nbsp; ShowMessage(&quot;В алфавите языка встречается символ, используемый как нетерминальный символ: &quot;+</div><div class="code_line">&nbsp;&nbsp; &nbsp;AnsiString(Vt[i]));</div><div class="code_line">&nbsp;&nbsp; return false;</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;N8-&#62;Enabled=true;</div><div class="code_line">&nbsp;N10-&#62;Enabled=true;</div><div class="code_line">&nbsp;s=&quot;G({&quot;;</div><div class="code_line">&nbsp;for (i=1;i&#60;=Vn.Length();i++) {</div><div class="code_line">&nbsp;&nbsp;s=s+Vn[i];</div><div class="code_line">&nbsp;&nbsp;if (i&#60;Vn.Length()) s=s+&quot;,&quot;;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;s=s+&quot;},{&quot;;</div><div class="code_line">&nbsp;for (i=1;i&#60;=Vt.Length();i++) {</div><div class="code_line">&nbsp;&nbsp;s=s+Vt[i];</div><div class="code_line">&nbsp;&nbsp;if (i&#60;Vt.Length()) s=s+&quot;,&quot;;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;s=s+&quot;},P,S)&quot;;</div><div class="code_line">&nbsp;Label1-&#62;Caption=s;</div><div class="code_line">&nbsp;return true;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">__fastcall TForm1::TForm1(TComponent* Owner)</div><div class="code_line">&nbsp;&nbsp; &nbsp;: TForm(Owner)</div><div class="code_line">{</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Тема&quot;</div><div class="code_line">void __fastcall TForm1::N3Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;ShowMessage(&quot;Построение регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Выход&quot;</div><div class="code_line">void __fastcall TForm1::N5Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;Application-&#62;Terminate();</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Автор&quot;</div><div class="code_line">void __fastcall TForm1::N6Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;ShowMessage(&quot;Автор: .&quot;);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Сохранить в файл&quot;-&#62;&quot;Цепочки&quot;</div><div class="code_line">void __fastcall TForm1::N11Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;SaveDialog1-&#62;InitialDir=GetCurrentDir();</div><div class="code_line">&nbsp;if (SaveDialog1-&#62;Execute()) ListBox1-&#62;Items-&#62;SaveToFile(SaveDialog1-&#62;FileName);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Ввести данные из файла&quot;</div><div class="code_line">void __fastcall TForm1::N9Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;OpenDialog1-&#62;InitialDir=GetCurrentDir();</div><div class="code_line">&nbsp;if (OpenDialog1-&#62;Execute()) {</div><div class="code_line">&nbsp;&nbsp;ListBox1-&#62;Items-&#62;LoadFromFile(OpenDialog1-&#62;FileName);</div><div class="code_line">&nbsp;&nbsp;Edit1-&#62;Text=ListBox1-&#62;Items-&#62;Strings[0];</div><div class="code_line">&nbsp;&nbsp;Edit2-&#62;Text=ListBox1-&#62;Items-&#62;Strings[1];</div><div class="code_line">&nbsp;&nbsp;Edit3-&#62;Text=ListBox1-&#62;Items-&#62;Strings[2];</div><div class="code_line">&nbsp;&nbsp;ListBox1-&#62;Items-&#62;Clear();</div><div class="code_line">&nbsp;}</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Расчеты&quot;-&#62;&quot;Построить ЛЛ-грамматику&quot;</div><div class="code_line">void __fastcall TForm1::N4Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;LL=true;</div><div class="code_line">&nbsp;Grammar();</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Расчеты&quot;-&#62;&quot;Построить ПЛ-грамматику&quot;</div><div class="code_line">void __fastcall TForm1::N7Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;LL=false;</div><div class="code_line">&nbsp;Grammar();</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//&quot;Расчеты&quot;-&#62;&quot;Генерировать цепочки&quot;</div><div class="code_line">void __fastcall TForm1::N8Click(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;if (!Grammar()) return;</div><div class="code_line">&nbsp;Min=StrToIntDef(InputBox(&quot;Диапазон длин цепочек&quot;,&quot;Минимальная длина&quot;,&quot;1&quot;),-1);</div><div class="code_line">&nbsp;Max=StrToIntDef(InputBox(&quot;Диапазон длин цепочек&quot;,&quot;Максимальная длина&quot;,&quot;5&quot;),-1);</div><div class="code_line">&nbsp;if ((Min&#60;0)||(Max&#60;0)||(Max&#60;Min)) {</div><div class="code_line">&nbsp;&nbsp;ShowMessage(&quot;Ошибка в задании диапазоны длин цепочек&quot;);</div><div class="code_line">&nbsp;&nbsp;return;</div><div class="code_line">&nbsp;}</div><div class="code_line">&nbsp;ListBox1-&#62;Items-&#62;Clear();</div><div class="code_line">&nbsp;ListBox1-&#62;Perform(LB_SETHORIZONTALEXTENT,700,0);</div><div class="code_line">&nbsp;ListBox3-&#62;Items-&#62;Clear();</div><div class="code_line">&nbsp;ListBox3-&#62;Sorted=true;</div><div class="code_line">&nbsp;N8-&#62;Enabled=false;</div><div class="code_line">&nbsp;GetLr();</div><div class="code_line">&nbsp;Generate(&quot;S&quot;,&quot;S&quot;,0);</div><div class="code_line">&nbsp;N8-&#62;Enabled=true;</div><div class="code_line">&nbsp;N11-&#62;Enabled=true;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>AlexBrookman</author>
        <category>ПОМОЩЬ СТУДЕНТАМ</category>
      </item>
	
      </channel>
      </rss>
	