|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
Благодарю, с первым разобрался. А со вторым можете помочь кто-нибудь?
|