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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 18:14   #1
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
Стрелка Небольшое дополнение к лабе по теме "целые числа" Делфи.

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
i1,i2,i3,i4,i5,x:integer;
begin
x:=StrToInt(Edit1.Text);
  if x>=5 then
    begin
     for i1:=0 to x do
      begin
      for i2:=0 to x do
        begin
        for i3:=0 to x do
          begin
          for i4:=0 to x do
            begin for i5:=0 to x do
              begin
              if (i1>i2) and (i2>i3) and (i3>i4) and (i4>i5) then
                begin
                if i1+i2+i3+i4+i5=x then Memo2.Lines.Add(IntToStr(i1)+' + '
                +IntToStr(i2)+' + '+IntToStr(i3)+' + '+IntToStr(i4)+' + '
                +IntToStr(i5)+' = '+ IntToStr(x));
                end;
              end;
            end;
          end;
        end;
      end;
    end
  else ShowMessage('       Введите N>=5');
end;
end.
Так как по условию n>=5, но фактически решение имеется только при n>=10 необходимо, чтоб в таком случае писал в Memo 'Для данного числа решений нет...'. Причем не условием что 5<=n и n<9 тогда то-то, а только когда выясняется, что решений нет... Условие ниже.

kazzz вне форума Ответить с цитированием
Старый 18.05.2011, 19:22   #2
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
По умолчанию

Уже сделал..
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  b:Boolean;
  i1,i2,i3,i4,i5,x:integer;
begin
  b:=true;
  x:=StrToInt(Edit1.Text);
  if x>=5 then
    begin
     for i1:=0 to x do
      begin
      for i2:=0 to x do
        begin
        for i3:=0 to x do
          begin
          for i4:=0 to x do
            begin for i5:=0 to x do
              begin
              if (i1>i2) and (i2>i3) and (i3>i4) and (i4>i5) then
                begin
                  if i1+i2+i3+i4+i5=x then
                  begin
                    Memo2.Lines.Add(IntToStr(i1)+' + '
                    +IntToStr(i2)+' + '+IntToStr(i3)+' + '+IntToStr(i4)+' + '
                    +IntToStr(i5)+' = '+ IntToStr(x));
                    b:=False;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end
  else ShowMessage('       Ââåäèòå N>=5');
  if b then Memo2.Lines.Add('Äëÿ äàííîãî ÷èñëà ðåøåíèé íåò');
end;
kazzz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание в Турбо Паскаль по теме "Операторы циклов" Glorya Помощь студентам 1 20.01.2011 12:23
Помогите, пожалуйста, написать программу в Паскаль по теме "Множества" SArtem Помощь студентам 10 19.12.2009 11:40
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04