|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Найти количество положительных элементов расположенных за первым минимальным
Необходима помощь в написании программы : тема процедура .
Найти количество положительных элементов расположенных за первым минимальным элементом матриц A[N,M] и B[K,L]. спасибо заранее . п.с желательно код как можно проще плз |
#2
|
|||
|
|||
Ну, например, так:
Код:
type TDynIntMatrix = Array Of Array Of Integer; function GetPositiveNum(A : TDynIntMatrix) : Integer; var I, J : Integer; mI, mJ : Integer; begin Result := 0; // Top-Left item - current min item mI := Low(A); mJ := Low(A[mI]); // Search for min item For I := Low(A) To High(A) Do For J := Low(A[i]) To High(A[i]) Do If A[I,J] < A[mI,mJ] Then Begin mI := I; mJ := J; End; // Cont positive items For I := mI To High(A) Do For J := Low(A[i]) To High(A[i]) Do Begin If (I = mI) And (J <= mJ) Then Continue; // Before min item If A[I,J] > 0 Then Inc(Result); // positive item - increase counter End; end; procedure RandomInitArray(var A : TDynIntMatrix; AI, AJ : Integer); var I, J : Integer; begin SetLength(A,AI,AJ); For I := Low(A) To High(A) Do For J := Low(A[i]) To High(A[i]) Do A[i,J] := Random(100)-50; // Generate random value -50..49 end; procedure TForm1.Button1Click(Sender: TObject); var M1 : TDynIntMatrix; M2 : TDynIntMatrix; S : String; begin RandomInitArray(M1,5,10); RandomInitArray(M2,10,5); S := 'Positive item after min item count.'#13#10; S := S + Format('M1 : %d'#13#10,[GetPositiveNum(M1)]); S := S + Format('M2 : %d',[GetPositiveNum(M2)]); ShowMessage(S); end; |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Sempai (09.05.2017)
|
#3
|
|||
|
|||
благодарю
|