Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2008, 14:10   #11
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Идея со строками хорошая, только алгоритм надо подправить, а то 28-й элемент = 911, а у вас он выпадает. Вместо него 2111, хотя 29 = 2000.
ага, заметил вчера это, но снова открывать Делфи было уже лень

Нужно: if z = 10 Then

Цитата:
Вот так всегда, только более-менее интересная задачка, так сразу Дельфи.
Работает быстро, только окно сразу после завершения скрывается...... (
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...

Последний раз редактировалось Карась; 24.02.2008 в 14:16.
Карась вне форума Ответить с цитированием
Старый 24.02.2008, 19:07   #12
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

To Карась. Доделал на досуге квой код для первых 20 элементов. Считает действительно очень быстро, открываешь файл, уже все посчитано и написано. А окно потому и скрывается, что идет запись в файл.
Вот доделанный код.
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var d_ch_0, d_ch_1,d_ch_2, d_ch_3: String;
    i, n, p,z : integer;
    mas : array [1..500] of string;
    f : Text;
Begin
d_ch_0 := '00'; d_ch_1 := '11'; d_ch_2 := '0'; d_ch_3 := '1';p :=3;z := 1;
Writeln ('Go?'); Write ('n=');
Readln (n);
Assign(f,'Out.txt');
Rewrite(f);
For i := 1 To n Do
  Begin
    if i<=11 then mas[i]:=inttostr(i-1);
    if i=12 then mas[i]:='22';
    if (i>=13)and (i<=19) then
       begin
         if (i mod 2 = 0) Then
         mas[i] := IntToStr(p) + d_ch_3;
         if i mod 2 = 1 Then
         mas[i] := IntToStr(p) + d_ch_2;
         p:=p+1;
       end;
    if i>=20 then
       begin
         if (i mod 2 = 1) Then
         mas[i] := IntToStr(z) + d_ch_0;
         if i mod 2 = 0 Then
         mas[i] := IntToStr(z) + d_ch_1;
         z := z + 1;
         if z = 10 Then
      Begin
        z := 2;
        d_ch_0 := d_ch_0 + '0';
        d_ch_1 := d_ch_1 + '1';
      End;
    end;
   Writeln(f, '#', i,'   ', mas[i]);
  End;
Close(f);
Writeln('Massiv zapolnen!');
Writeln('Save, Jmi <Enter>');
Readln;

end.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Множество Мандельброта и Жюлиа KEnt Помощь студентам 8 07.12.2011 23:54
Как задать множество 1234 Паскаль, Turbo Pascal, PascalABC.NET 7 25.05.2008 16:15
Множество браузеров LeoN Общие вопросы Delphi 0 01.05.2008 14:55
Что такое множество? ZhekON Помощь студентам 3 07.04.2008 20:22