Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2008, 14:54   #1
+Hitman+
Пользователь
 
Регистрация: 24.02.2008
Сообщений: 17
По умолчанию помогите переделать прогу

программа написана с помощью процедуры а надо её переделать с помощью функций, заранее спасибо
Код:
Program LUKen;
const
n=5; m=6;
var
i,k1,k2,k3: integer;
l1,l2,l3: integer;
a: array [1..n] of integer;
b: array [1..m] of integer;
c: array [1..10] of integer;
Procedure min (t:integer; d: array of integer; var r: integer);
var
j: integer;
begin
r:=d[0];
For j:=1 to t do if d[j] < r then r:=d[j];
end;
begin
Writeln (‘Введите элементы массива a:');
For k1:=1 to n do Readln (a[k1]);
Writeln (‘Введите элементы массива b:');
For k2:=1 to m do Readln (b[k2]);
Writeln ('Введите элементы массива c:');
For k3:=1 to 10 do Readln (c[k3]);
min (n, a, l1);
min (m, b, l2);
min (10, c, l3);
If l1 > 10 then i:=l2+l3 else i:=1+l3*l3;
Writeln ('L1=',l1:2,' ','L2=',l2:2,' ','L3=',l3:2,' ','i=',i:5);
end.
+Hitman+ вне форума Ответить с цитированием
Старый 08.10.2008, 19:48   #2
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Код:
const
  n = 5;
  m = 6;
var
  i: integer;
  l1, l2, l3: byte;
  a: array[1..n] of integer;
  b: array[1..m] of integer;
  c: array[1..10] of integer;

function min(d: array of integer): byte;
begin
  result := d[0];
  for i := 1 to length(d) do
    if d[i] < result then
      result := d[i];
end;
begin
  Writeln('Введите элементы массива a: ');
    for i := 1 to n do
      Readln(a[i]);
    Writeln('Введите элементы массива b: ');
    for i := 1 to m do
      Readln(b[i]);
    Writeln('Введите элементы массива c:');
    for i := 1 to 10 do
      Readln(c[i]);
    l1 := min(a); //начало
    l2 := min(b);
    l3 := min(c);
    if l1 > 10 then
      i := l2 + l3
    else
      i := 1 + l3 * l3;
    Writeln('L1=', l1: 2, ' ', 'L2=', l2: 2, ' ', 'L3=', l3: 2, ' ', 'i=', i:
    5); //конец
{    вместо отмеченного кода(начало...конец)можно написать
    if l1 > 10 then
      i := l2 + l3
    else
      i := 1 + l3 * l3;
    Writeln('L1=', min(a): 2, ' ', 'L2=', min(b): 2, ' ', 'L3=', mic(c): 2, ' ',
      'i=', i:
    5);}
end.
NikLik вне форума Ответить с цитированием
Старый 08.10.2008, 19:52   #3
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Это весьма просто, вот код:
Код:
Program LUKen;
const
n=5; m=6;
var
i,k1,k2,k3: integer;
l1,l2,l3: integer;
a: array [1..n] of integer;
b: array [1..m] of integer;
c: array [1..10] of integer;
Funсtion min (t:integer; d: array of integer): integer;
var
j, r: integer;
begin
r:=d[0];
For j:=1 to t do if d[j] < r then r:=d[j];
min:= r;
end;
begin
Writeln ('Введите элементы массива a:');
For k1:=1 to n do Readln (a[k1]);
Writeln ('Введите элементы массива b:');
For k2:=1 to m do Readln (b[k2]);
Writeln ('Введите элементы массива c:');
For k3:=1 to 10 do Readln (c[k3]);
l1:= min (n, a);
l2:= min (m, b);
l3:= min (10, c);
If l1 > 10 then i:=l2+l3 else i:=1+l3*l3;
Writeln ('L1=',l1:2,' ','L2=',l2:2,' ','L3=',l3:2,' ','i=',i:5);
end.
ЗЫ Извините, забыл страницу обновить.
ЗЗЫ NikLik Ваш код на Паскале не откомпилируется! Во-первых, Паскаль не знает переменной
Цитата:
result
, она есть только в Делфи;во-вторых, функция
Цитата:
length
определена, в Паскале по крайней мере, только для строк и для массива типа byte не подойдет!

Последний раз редактировалось -=<[Evklidd]>=-; 08.10.2008 в 20:01.
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 08.10.2008, 20:20   #4
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Извиняюсь....
Привык, знаете ли....
NikLik вне форума Ответить с цитированием
Старый 17.11.2008, 23:26   #5
+Hitman+
Пользователь
 
Регистрация: 24.02.2008
Сообщений: 17
По умолчанию

Спасибо огромное, сори что не написал сразу давно не был на форуме(уежал). Спасибо
+Hitman+ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немогу переделать(переписать) прогу!!!! metamfetamin Помощь студентам 0 25.11.2007 14:27
Помогите переделать Stanislav Общие вопросы Delphi 2 24.10.2007 16:14
Помогите переделать БД Antowka БД в Delphi 17 15.06.2007 21:35