![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Есть код сортировки массива по возрастанию , нужна блок схема алгоритма! Сам не силён в этом , кто может помочь? Хотя бы на листке ручкой набросать 
		
	
		
		
		
		
		
		
			Код: 
	procedure TForm1.Button3Click(Sender: TObject); var h,min,s,ms:word; m,i:integer; begin Label10.Caption:=Floattostr(time); for m:=1 to 100000 do for i:=0 to high(A) do tmpA[i]:=0; // заполняем массив нулями for i:=min to n do begin A[i]:=A[i]+1; end; // устанавливаем значение в правильную позицию index:=min; for i:=min to high(A)-1 do begin for j:=0 to A[i]-1 do begin A[index]:=i; index:=index+1; end; end; repeat priz:=false; for i:=1 to n-1 do if a[i]>a[i+1] then begin buf:=a[i]; a[i]:=a[i+1]; a[i+1]:=buf; priz:=true; end; for k:=1 to n do until priz=false; for i:=1 to n do StringGrid2.Cells[i-1,0]:=inttostr(a[i]); DecodeTime(Time-Strtofloat(Label10.Caption),h,min,s ,ms); Label10.Caption:='по возрастанию '+Inttostr(s)+' '+'с'+' '+Inttostr(ms)+' '+'мс'; end; Последний раз редактировалось Admin, 13.05.2011 в 18:02.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ты программу не читаемо пишешь, пример правильного написания: 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TForm1.Button3Click(Sender: TObject);
var h,min,s,ms:word;
     m,i:integer;
begin
  Label10.Caption:=Floattostr(time);
  for m:=1 to 100000 do
    for i:=0 to high(A) do tmpA[i]:=0; // заполняем массив нулями
  for i:=min to n do 
//begin
    A[i]:=A[i]+1;  Одно действие в форе, begin и end не обязательны 
//end;
// устанавливаем значение в правильную позицию
  index:=min;
  for i:=min to high(A)-1 do
  begin
    for j:=0 to A[i]-1 do 
    begin
      A[index]:=i;
      index:=index+1;
    end;
  end;
  repeat
    priz:=false;
    for i:=1 to n-1 do
    if a[i]>a[i+1] then
    begin
      buf:=a[i];
      a[i]:=a[i+1];
      a[i+1]:=buf;
      priz:=true;
    end;
    for k:=1 to n do until priz=false;
  for i:=1 to n do
  StringGrid2.Cells[i-1,0]:=inttostr(a[i]);
  DecodeTime(Time-Strtofloat(Label10.Caption),h,min,s ,ms);
  Label10.Caption:='по возрастанию '+Inttostr(s)+' '+'с'+' '+Inttostr(ms)+' '+'мс';
end; | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Весьма удобный справочничекк по блок схемам: 
		
	
		
		
		
		
		
	
		
		
	
	
	http://cert.obninsk.ru/gost/282/282.html  |