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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 22:04   #1
jie4e
Новичок
Джуниор
 
Регистрация: 13.11.2011
Сообщений: 1
Восклицание Код для использования массива с целью вывести числа, кратные 3 в интервале от а до в (Delphi)

Само задание звучит так:
Вывести по убыванию числа, кратные 3 и принадлежащие интервалу от [a..b]. Границы задаются с клавиатуры,

Вообщем edit1 для a, edit2 для b, label1 для самих чисел, помогите с составлением самой программы
jie4e вне форума Ответить с цитированием
Старый 14.11.2011, 06:34   #2
Felian
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 24
По умолчанию

Исходные данные:
a записано в Edit1.Text
b записано в Edit2.Text
Вывод: Label1.Caption

Код:
Код:
procedure Numbers();
var
  a, b, i: Integer;
  s: String;
begin
  a := StrToInt(Edit1.Text);
  b := StrToInt(Edit2.Text);
  for i := b downto a do
  begin
    if (b mod 3 = 0) or (b < a) then
      Break;
    b := b - 1;
  end;
  if (b < a) then
    Exit;
  s := '';
  while (b >= a) do
  begin
    s := s + IntToStr(b) + ', ';
    b := b - 3;
  end;
  SetLength(s, Length(s)-2);
  Label1.Caption := s;
end;

Вызывать эту процедуру, например, по щелчку на кнопке.
Felian вне форума Ответить с цитированием
Старый 14.11.2011, 08:34   #3
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Ну для начала если процедуру вызвать при нажатии на кнопку - она начнет ругаться, ибо контролы вне её видимости, нужно ко всему добавлять Form1 (ну или как там форма называется)
можно сделать проще и короче:

Код:
procedure TForm1.Button1Click(Sender:TObject);
var s:string;
a,b,i:integer;
begin
 a:=StrToInt(Edit1.Text);
 b:=StrToInt(Edit2.Text);
 s:='';
 for i:=b downto a do
  if b mod 3 = 0 then
   s:=s+IntToStr(i)+', ';
 if s='' then s='Таких чисел нету'
 else SetLength(s,Length(s)-2);
 Label1.Caption:=s;
end;
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести все совершенные числа в заданном интервале А — В ксения777 Помощь студентам 5 31.10.2011 21:14
Процедура для сортировки массива по возрастанию (прокоментируйте код программы на Delphi) Natashka Milashka Помощь студентам 1 20.05.2011 16:20
в интервале (1000 .. 9999) найти все простые числа (Delphi) Dima170792 Помощь студентам 10 04.05.2011 22:24
Pascal В интервале целых чисел найти все числа кратные 7 NewBi Помощь студентам 5 19.03.2010 19:55
Си наити факториал большого числа и вывести в виде массива Владимир #include Помощь студентам 2 28.10.2008 13:13