|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Помогите пожалуйста с курсовой Всем привет. Пожалуйста, кому не сложно, помогите со следующими заданиями: #1 Цитата: 
 #2 Цитата: 
 #3 Цитата: 
 Это оставшиеся какие у меня сделать не получилось, как ни пытался. А завтра сдавать :-\ Очень прошу помочь! Заранее благодарю. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   1. Обычная задача на массив. Код: var
  Places : Array[1..30,1..25] Of Integer;
function FreeInRow(ARow : Integer) : Integer;
var
  I : Integer;
begin
  Result := 25;
  For I := 1 To 25 Do
    Result := Result - Places[ARow,I];
end;
function FreeTotal : Integer;
var
  I : Integer;
begin
  Result := 0;
  For I := 1 To 30 Do
    Result := Result + FreeInRow(I);
end;
function BusyInRow(ARow : Integer) : Integer;
begin
  Result := 25 - FreeInRow(ARow);
end;
function BusyTotal : Integer;
begin
  Result := 25 * 30 - FreeTotal;
end;
function UnwantedRow : Integer;
var
  I : Integer;
  N : Integer;
begin
  N := 0;
  Result := 0;
  For I := 1 To 30 Do
    If N > FreeInRow(I) Then 
      Begin
         Result := I;
         N := FreeInRow(I);
      End;
end;
function MaxFreeLineInRow(ARow : Integer) : Integer;
var
  I : Integer;
  F : Integer;
begin
  Result := 0;
  F := 0;
  I := 1;
  While I <= 25 Do
     Begin
        Case Places[ARow,I] Of
           0 : Inc(F);
           1 :
              Begin
                 If Result < F Then Result := F;
                 F := 0;
              End;
        End;
        Inc(I);
    End;
end;
function GetMaxLineRow : Integer;
var
  I : Integer;
  N : Integer;
begin
  Result := 0;
  N := 0;
  For I := 1 To 30 Do
    If N <  MaxFreeLineInRow(I) Then
      Begin
         N := MaxFreeLineInRow(I);
         Result := I;
      End;
end;
function GetMaxLineNumber : Integer;
var
  I : Integer;
  N : Integer;
begin
  Result := 0;
  For I := 1 To 30 Do
    If Result <  MaxFreeLineInRow(I) Then
      Begin
         Result := MaxFreeLineInRow(I);
      End;
end;Набора этих функций достаточно что бы решить первую задачу полностью. Извини, над другими просто лень думать... | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Благодарю, с первым разобрался. А со вторым можете помочь кто-нибудь? |