![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите сделать программу, если можно , хотел бы получить подробный код или архив с программой.
Задание: Все элементы с наибольшими значениями в матрице 9х9 замените нулями, если эти элементы не принадлежат первой и последней строкам. Среда программирования: Delphi 7 |
|
#2
|
|||
|
|||
|
Что значит "элементы с наибольшими значениями"? Max(Aij)?
|
|
#3
|
|||
|
|||
|
я уточнил этот вопрос, нужно заменить первые 10 элементов с наибольшими значениями
|
|
#4
|
|||
|
|||
|
Еще раз. Что такое "элемент с наибольшим значением"?
Дай строгое определение. В т.ч. области, в которой он наибольший. Опять же, "первые 10" первые в какой области? В строке, в колонке, во всей матрице. И что делать если их всего меньше 10 или больше. Учитесь правильной постановке задач. |
|
#5
|
|||
|
|||
|
От максимального значения , 10 элементов по убывающей (включительно наибольшее значение) , во всей матрице 9х9, если их меньше, то выводить на экран сообщение "Не хватает элементов для выполнения задачи"
|
|
#6
|
|||
|
|||
|
Ну, полный код писать лень.
Так что я тебе собственно функции напишу, а уж визуальную обвязку сделаешь сам. Код:
type
TMatrixIndex = record
C, R : Integer;
end;
var
A : Array [1..9,1..9] Of Integer;
// возвращает координаты макс элемента
function GetMaxElementCR : TMatrixIndex
var
I, J : Integer;
begin
Result.C := 1;
Result.R := 1;
For I := 1 To 9 Do
For J := 1 To 9 Do
If A[I,J] > A[Result.C,Result.R] Then
Begin
Result.C := I;
Result.R := J;
End;
end;
// Делает 10 замен макс элемента на 0
function ReplaceMaxbyZero : Boolean;
var
I : Integer;
Idx : TMatrixIndex;
begin
Result := True;
For I := 1 To 10 Do
Begin
Idx := GetMaxElementCR;
Result := A[Idx.C,Idx.R] > 0;
If Result
Then A[Idx.C,Idx.R] := 0
Else Break;
End;
end;ЗЫ. Там где-то в начале было что-то про исключение 1й и последний строк из замены. Если это нужно, то тогда строка 17 должна выглядеть так: Код:
For J := 2 To 8 Do Последний раз редактировалось lmikle, 16.02.2019 в 06:23. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
somepower (16.02.2019)
| ||
|
#7
|
|||
|
|||
|
Понял, спасибо
|