| 
| 
 | Вопрос # 5 050/ вопрос решён / | 
 |  Доброго времени суток. Я еще только учусь и пытаюсь учебу поддерживать практикой.Подскажите с решением.
 Даны целые числа K и N (N > 0). Вывести N раз число K.
 Подскажите какой код будет на Delphi.
 Числа вводять в поле Edit1 и Edit2, соотвественно, принажатии на кпопку выполняется программа и в заголовке Label1.
 Примечание #1 (25 февраля 2011, 16:33): В заголовке Label1 хочу увидеть результат.Как править посты?
 
 
|  |   Вопрос задал: sheff (статус: Посетитель)Вопрос отправлен: 25 февраля 2011, 16:28
 Состояние вопроса: решён, ответов: 3.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, sheff!Например так.
 
 procedure TForm1.Button1Click(Sender:TObject);
var n, k,i:integer;
s:string;
begin
 k := StrToInt(Edit1.text);
 n := StrToInt(Edit2.text);
 s := '';
 for i := 1 to n do s := s + inttostr(k);
 label1.caption := s;
end; 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 25 февраля 2011, 16:38
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Толяныч Здравствуйте, sheff!Приблизительно так :
 
 Var
 i,n : integer ;
 str1 : string ;
 begin
 n := StrToInt (Ed2.Text) ; str1 := '' ;
 for i := 1 to n do str1 := str1 + Ed1.Text + ' ';
 // Поскольку число К и так уже в символьном формате, нет смысла переводить его
 // туда и обратно StrToInt - IntToStr
 Label1.Caption := str1
 end ;
 
|  | Ответ отправил: Толяныч (статус: 4-ый класс)Время отправки: 25 февраля 2011, 16:47
 Оценка за ответ: 5
 |  Ответ #3. Отвечает эксперт: min@y™ Цитата (sheff): Можно ли решить данную задачу использую цикл while и repeat?  
 procedure TForm1.Button1Click(Sender: TObject);
var
  n, k, i: Integer;
  s: string;
begin
  k:= StrToInt(Edit1.text);
  n:= StrToInt(Edit2.text);
  s:= '';
  i:= 1;
 
  while i <= n do
    begin
      s:= s + IntToStr(k);
      Inc(i);
    end;
 
  Label1.Caption:= s;
end;
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 25 февраля 2011, 19:10
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 28 февраля 2011, 10:40; участников в обсуждении: 4. 
|   | sheff (статус: Посетитель), 25 февраля 2011, 16:49 [#1]:А можно поподробнее описать s := '';
 do s := s + inttostr(k);
 вот это место в коде?За ранее спасибо.
 |  
|   | Вадим К (статус: Академик), 25 февраля 2011, 16:52 [#2]:То есть, рассказать, что такое цикл? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Толяныч (статус: 4-ый класс), 25 февраля 2011, 16:53 [#3]:Конечно, ответ Вадима К более правильный, я не обратил внимание, что действие - по кнопке. |  
|   | sheff (статус: Посетитель), 25 февраля 2011, 16:56 [#4]:Про цикл, я понимаю. Объявление переменной s := ''; что дает?
 |  
|   | Вадим К (статус: Академик), 25 февраля 2011, 17:05 [#5]:просто присваивает строке пустую строку. Фактически мы ее очищаем. Галочка "подтверждения прочтения" - вселенское зло. |  25 февраля 2011, 17:41: Статус вопроса изменён на решённый (изменил автор вопроса — sheff) 
|   | sheff (статус: Посетитель), 25 февраля 2011, 17:42 [#6]:Спасибо всем кто принял участие. |  25 февраля 2011, 18:43: Вопрос вновь открыт (изменение состояния произвёл автор вопроса — sheff) 
|   | sheff (статус: Посетитель), 25 февраля 2011, 18:44 [#7]:Можно ли решить данную задачу использую цикл while и repeat? |  
|   | Вадим К (статус: Академик), 25 февраля 2011, 18:54 [#8]:да, конечно. там где работает цикл for, всегда можно переписать через while или repeat. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | sheff (статус: Посетитель), 25 февраля 2011, 19:10 [#9]:А я могу Вас попросить показать мне как переписать? |  
|   | sheff (статус: Посетитель), 25 февраля 2011, 19:33 [#10]:С циклом repeat разобрался сам, еще раз спасибо! 
 procedure TForm1.Button1Click(Sender: TObject);
var
  n, k, i: Integer;
  s: string;
begin
  k:= StrToInt(Edit1.text);
  n:= StrToInt(Edit2.text);
  s:= '';
  i:= 0;
 
repeat
  begin
      s:= s + IntToStr(k);
      Inc(i);
    end;
until n=i;
 
  Label1.Caption:= s;
end; |  
|   | min@y™ (статус: Доктор наук), 25 февраля 2011, 19:42 [#11]:Молодец, соображаешь. А то есть тут некоторые, типа stason'a, вообще с мозгами не дружат. А у тебя мозги есть. И это есть гут. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  25 февраля 2011, 21:25: Статус вопроса изменён на решённый (изменил автор вопроса — sheff) 
|   | Вадим К (статус: Академик), 28 февраля 2011, 10:40 [#12]:подсказка - begin...end тут ни к чему и его можно спокойно убрать. А также условие сравнения лучше заменить на =<.  Потому что в таком случае цикл гарантированно завершится. А вот при сравнении - можно проскочить. К примеру завтра решите сделать цикл не i=i+1, а i=i+3 и не угадаете последнее значение. Мелочь, а спасает от будущих ошибок. Может не в этом проекте,но в другом.
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |