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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2014, 09:38   #1
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию

Прошу помочь! Нужно заполнить елку звездочками, вот рама елки
Код в делфи...
Код:
procedure TForm1.btn1Click(Sender: TObject);
var  i,j:integer;
begin
for i:=1 to 20 do
 begin
  for j:=1 to 20 do
   begin
    if (j=i+10) or (j=i-10)or(j=20-i+1+10)or(j=20-i+1-10)
    then mmo1.Text:=mmo1.Text+'*'
    else mmo1.Text:=mmo1.Text+'  ';
   end;
  mmo1.Text:=mmo1.Text+#13#10;
 end;
end;
end.
Теперь нужно заполнить внутрь елки звездочакми... Помогите пожалуйста

Помогите решить задачу пожалуйста,срочно надо проста

Последний раз редактировалось Stilet; 17.04.2014 в 10:08.
Ken_Watanabe вне форума Ответить с цитированием
Старый 17.04.2014, 10:08   #2
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию

Неужели не кто не хочет помочь?
Ken_Watanabe вне форума Ответить с цитированием
Старый 17.04.2014, 10:12   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
не кто не хочет помочь?
а догадаться никак? ведь логично, что ели никого нет то и ..
eval вне форума Ответить с цитированием
Старый 17.04.2014, 10:14   #4
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
а догадаться никак? ведь логично, что ели никого нет то и ..
Напишите пожалйста код
Ken_Watanabe вне форума Ответить с цитированием
Старый 17.04.2014, 10:17   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Как-то так:
Код:
var
 i:Integer;
 s:string;
 sLen,zpos,zcount,zi:Integer;
begin
{
Пропускаем вначале и в конце
*****************


}
 for i:=1 to Memo.Lines.Count -2 do
 begin
  s:= Memo.Lines[i];
  sLen:= Length(s) -1; //*                       *, пропускаем * в начале и в конце
  zcount := RandomRange(1,sLen); //кол-во звезд
  for zi:=1 to zcount do //Тыкаем звезды
  begin
    zpos:=RandomRange(1,slen); //ВЫбираем позицию,
    sLen[zpos] := '*';
  end;
 end;
end;
Писал в браузере, так что копипаста не прокатит.
Человек_Борща вне форума Ответить с цитированием
Старый 17.04.2014, 10:20   #6
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию

Благодраю! Спасибо огромное
Ken_Watanabe вне форума Ответить с цитированием
Старый 17.04.2014, 10:43   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Елки нет, есть ромб. Заполнять так заполнять
Код:
  for i:=1 to 20 do
    mmo1.Lines.Add(StringOfChar(' ',Abs(i-10)-(i div 11))+
                   StringOfChar('*',(10-Abs(i-10)+(i div 11))*2)+
                   StringOfChar(' ',Abs(i-10)-(i div 11)));
Фонт Courier New например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.04.2014, 11:47   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ёлка
Код:
procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
begin
n:=20;
for i:=1 to n do
memo1.Lines.Add(StringOfChar(' ',20-i+1)+StringOfChar('*',2*i-1));
end;
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуру рисование елка azemrug Помощь студентам 2 15.03.2010 13:01