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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2010, 08:52   #1
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
Лампочка Массивчик delphi massiv4ik

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [0..50] of integer;
i, c : integer;
begin
n := StrToInt(Edit1.Text);
Label2.Caption := '';
for i := 0 to n do
 begin
  a[i] := Round(Sin(Random(-100))*100);
  if (a[i] > 0) and (a[i+1] < 0) or
      (a[i] < 0) and (a[i+1] > 0) then
         Label3.Caption := IntToStr(i) + ' и ' + IntToStr(i+1);
  Label2.Caption := Label2.Caption + IntToStr(a[i]) + '; ';
 end;
end;
всем привет))) почему работает не правильно де косяк...??
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 09:14   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
почему работает не правильно
Переменная N не была объявлена и пропущено End; при закрытии цикла.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [1..50] of integer;
i, c , n : integer;
begin
n := StrToInt(Edit1.Text);
Label2.Caption := '';
for i := 1 to n do
 begin
  a[i] := Round(Sin(Random(-100))*100);
  if (a[i] > 0) and (a[i+1] < 0) or
      (a[i] < 0) and (a[i+1] > 0) then
         Label3.Caption := IntToStr(i) + ' и ' + IntToStr(i+1);
  Label2.Caption := Label2.Caption + IntToStr(a[i]) + '; ';

  End;
end;

end.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 18.12.2010, 09:24   #3
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

нене не в этом проблемма сама задачка номера пары выдает неправильно ((((
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 09:29   #4
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

может что ли как то через WHILE это реализвать???подскажите как
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 09:36   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

сначала надо массив заполнять а потом проверять на >0 и <0

пример
у вас)
при i= 1 a1:=число a2=0(сюда число еще не вводили) а уже проверяем
и пролетаем)))
или вот так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [1..50] of integer;
i, c , n : integer;
begin
n := StrToInt(Edit1.Text);
Label2.Caption := '';
 a[1] := Round(Sin(Random(-100))*100);
Label2.Caption := Label2.Caption + IntToStr(a[1]) + '; ';
for i := 2 to n do
 begin
  a[i] := Round(Sin(Random(-100))*100);
  if (a[i] *a[i-1] < 0) then
         Label3.Caption := IntToStr(i-1) + ' и ' + IntToStr(i);
  Label2.Caption := Label2.Caption + IntToStr(a[i]) + '; ';

  End;
end;

end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 18.12.2010, 09:39   #6
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
нене не в этом проблемма сама задачка номера пары выдает неправильно ((((
А какое задание у вас?
Цитата:
может что ли как то через WHILE это реализвать???
Можно и через While.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 18.12.2010, 09:55   #7
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
А какое задание у вас?

Можно и через While.
Найти номер первой пары соседниъ элементов с разными знаками
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 09:58   #8
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
сначала надо массив заполнять а потом проверять на >0 и <0

пример
у вас)
при i= 1 a1:=число a2=0(сюда число еще не вводили) а уже проверяем
и пролетаем)))
или вот так
Так тоже не правильно работает(((ОН КАК БЫ РАНДОМНО их выбивает иногда правильно иной раз нет
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 10:34   #9
MrMorozko
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 115
По умолчанию

Кто поможет разобраться в данном вопросе?
MrMorozko вне форума Ответить с цитированием
Старый 18.12.2010, 11:54   #10
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Попробуйте так. Вроде все работает
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [1..50] of integer;
i, c , n : integer;
begin
Randomize();
n := StrToInt(Edit1.Text);
Label2.Caption := '';
for i := 1 to n do
begin
  a[i] := Round(Sin(Random(-100))*100);
  Label2.Caption := Label2.Caption + IntToStr(a[i]) + '; ';
End;
  For i:=1 to N do
  if (a[i] > 0) and (a[i+1] < 0) or
      (a[i] < 0) and (a[i+1] > 0) then
  Begin
    Label3.Caption := IntToStr(i) + ' и ' + IntToStr(i+1);
    Break
  End;


end;

end.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
массивчик! Jodu Помощь студентам 3 27.12.2007 19:14
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54