Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

заполнить массив   Найти похожие ветки 

 
RiP   (2005-11-12 10:58) [0]

а как мне заполнить числами массив я делаю
procedure SortPuz (var Arr : array of Integer; n : Integer);
var
i : Integer;
Temp : Integer;
Flag : Boolean;
begin

n:=10;
for i:=0 to n do
arr[i]:=random(100);

repeat
  Flag := False;
  for i := 0 to n - 1 do
    if Arr [i] > Arr [i + 1] then begin
      Temp := Arr [i];
      Arr [i] := Arr [i + 1];
      Arr [i + 1] := Temp;
      Flag := True;
    end;
until Flag = False;
end;
а он не пашет


 
Tonich ©   (2005-11-12 11:05) [1]

а что значить
> а он не пашет

, он же что-то должен говорить ??
а ты его вообще хоть создаешь предварительно  ?


SetLength(...)


 
RiP   (2005-11-12 12:45) [2]

ошибку выдает
но он ведь объявлен в формальных параметрах или его надо еще объявлять?


 
Tonich ©   (2005-11-12 12:53) [3]

ну блин ты ж пишешь процедуру в которую по ссылке передается массив!!
конечно его надо объявить (что ж ты туда будешь передавать),  мало того еще и задать длину...


 
RiP   (2005-11-12 13:12) [4]

Большое спасибо, все работает!!!
вот только последнее у меня показывает отсортированный массив
а как мне увидеть Random куда вставить
edit1.Text:=edit1.Text+" "+inttostr (arr[i]);


 
Virgo_Style ©   (2005-11-12 13:14) [5]

RiP   (12.11.05 10:58)

телепатов мало. ОЧЕНЬ мало.

где объявление массива, как вызывается процедура, какое сообщение об ошибке - нам самим придумать?


 
Virgo_Style ©   (2005-11-12 13:17) [6]

RiP   (12.11.05 13:12) [4]
логично будет написать две процедуры,

procedure FillArray(var Arr:array of integer);
вызывать в OnClick на "заполнить массив"

и

procedure SortArray(var Arr:array of integer);
вызывать в OnClick на "сортировать массив"


 
RiP   (2005-11-12 13:23) [7]

сортировка пашет только где мне тут вставить процедуру на показ неотсорт массива
const n=10;
var
 Form1: TForm1;
  arr:array [0..10]of integer;
  i:integer;
implementation

{$R *.dfm}
procedure SortPuz (var Arr : array of Integer; n : Integer);
 var
   i : Integer;
   Temp : Integer;
   Flag : Boolean;
     begin
       randomize;
       for i:=0 to n do
         arr[i]:=random(100);
repeat
 Flag := False;
  for i := 0 to n - 1 do
     if Arr [i] > Arr [i + 1] then begin
       Temp := Arr [i];
       Arr [i] := Arr [i + 1];
       Arr [i + 1] := Temp;
       Flag := True;
   end;
until Flag = False;
end;

procedure TForm1.Button1Click(Sender: TObject);
 begin
 edit2.text:="";
  SortPuz(arr,n);
  for i:=0 to n do
    edit2.Text:=edit2.Text+" "+inttostr (arr[i]);
  end;
end.


 
Tonich ©   (2005-11-12 13:36) [8]

вот тут ты его заполняешь
 for i:=0 to n do
        arr[i]:=random(100);

следовательно там и показывай ))

но как тебе уже посоветовали сделай 2 процедуры, так действительно логичнее будит


 
RiP   (2005-11-12 13:48) [9]

for i:=0 to n do
       arr[i]:=random(100);
я здесь писал но он говорит типа Edit1 не объявлен


 
Virgo_Style ©   (2005-11-12 15:32) [10]

Сдается мне, что твой SortPuz не является методом формы... так что если уж хочешь делать именно так (бр-р), то либо передавай свой Edit параметром в процедуру, либо обращайся к нему так: Form1.Edit1


 
Virgo_Style ©   (2005-11-12 15:35) [11]

При таком (еще раз бр-р) методе у тебя наверняка возникнут еще два вопроса -
Как сделать паузу - ответ Sleep()
и
Почему не перерисовался Edit - ответ Application.ProcessMessages;, а уже после него Sleep();

Вообще-то так не делают, конечно.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.015 c
14-1130841096
Андрей Жук
2005-11-01 13:31
2005.11.27
Внимание, фраза


2-1131643524
The One
2005-11-10 20:25
2005.11.27
Ordinal type required


14-1130871615
Некто
2005-11-01 22:00
2005.11.27
МУПы это пережиток соц. прошлого


1-1131018624
ancot
2005-11-03 14:50
2005.11.27
Прозрачный TWinControl


14-1131295569
Turbid
2005-11-06 19:46
2005.11.27
Набор компонентов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский