|
Вопрос # 5 353/ вопрос открыт / |
|
Здравствуйте!
Помогите плз), завтра зачет! Нужно осуществить сокращение на максимальный общий множитель. Пример: 12, 606, 180, 102 -> 2, 101, 30, 17.
 |
Вопрос задал: Карик (статус: Посетитель)
Вопрос отправлен: 1 июня 2011, 02:55
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Gooddy
Здравствуйте, Карик!
Написал необходимый вам код. Не забудьте подключить модуль Math.
Удачи на экзамене.
Приложение: Переключить в обычный режим-
- TIntegers = array of integer;
-
-
- function nod( integers: TIntegers ): integer;
- var
- nodVariant, minValue, i, arrayLength, compares: integer;
- resultGetted: boolean;
- begin
- minValue := Math.MinValue( integers );
- arrayLength := length( integers );
- resultGetted := false;
- result := 1;
- nodVariant := minValue;
- while ( nodVariant > 1 ) and not resultGetted do
- begin
- compares := 0;
- for i := 0 to arrayLength - 1 do
- if integers[i] mod nodVariant = 0 then
- inc( compares );
- if compares = arrayLength then
- begin
- result := nodVariant;
- resultGetted := true;
- end;
- dec( nodVariant );
- end;
- end;
-
-
- function divideByNod( integers: TIntegers ): TIntegers;
- var
- i, divideInteger: integer;
- begin
- divideInteger := nod( integers );
- SetLength(result,length(integers));
- for i := 0 to length( integers ) - 1 do
- result[i] := integers[i] div divideInteger;
- end;
-
-
- procedure TForm1.Button1Click( Sender: TObject );
- var
- integers: TIntegers;
- i: integer;
- begin
- SetLength( integers, 4 );
- integers[0] := 12;
- integers[1] := 606;
- integers[2] := 180;
- integers[3] := 102;
- integers:=divideByNod( integers );
- for i:=0 to length(integers)-1 do
- memo1.lines.add(inttostr(integers[i]));
- end;
 |
Ответ отправил: Gooddy (статус: 3-ий класс)
Время отправки: 1 июня 2011, 03:34
Оценка за ответ: 5
Комментарий к оценке: Спасибо большое, очень признателен!
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 1 июня 2011, 03:36; участников в обсуждении: 1.
|
Gooddy (статус: 3-ий класс), 1 июня 2011, 03:36 [#1]:
Писал на фпц в лазазусе так что отпишись как проверишь
Чисти код! Чисти код! Чисти код!
|
1 июня 2011, 09:31: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Лабораторный практикум » Delphi модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|