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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2010, 23:19   #1
Viktory.nvrn
 
Регистрация: 18.03.2010
Сообщений: 5
По умолчанию Подпрограмма поиска максимального элемента одномерного массива.

Задача:
Найти максимальные элементы одномерных массивов a,b,c и их номера. Подпрограмму поиска максимума оформить в виде процедуры. Ввод массивов оформить через randomize.

procedure degree(k:array of integer);
var i:integer; max:integer; imax:integer;
begin
max:=k[1];
imax:=1;
for i:=2 to 5 do
begin if k[i]>max then max:=k[i]; imax:=i;
end;
end;
var a:array[1..5] of integer;
b:array[1..5] of integer;
c:array[1..5] of integer;
i:integer;
begin
randomize;
for i:=1 to 5 do
begin
a[i]:=random(10);
write(a[i]:2);
degree(a[i]);
end;
writeln;
for i:=1 to 5 do
begin
b[i]:=random(10);
write(b[i]:2);
degree(b[i]);
end;
writeln;
for i:=1 to 5 do
begin
c[i]:=random(10);
write(c[i]:2);
degree(c[i]);
end;
writeln(a[i],b[i],c[i]);
readln;
end.



вот это у меня получилось =( помогите исправить. заранее, спасибо
Viktory.nvrn вне форума Ответить с цитированием
Старый 12.10.2010, 23:22   #2
b2soft
Упртй программер
Форумчанин
 
Регистрация: 26.11.2009
Сообщений: 150
По умолчанию

давайте помогу - аська 581751789

Напишем вместе
Помощь с кодом/лабами по С/С++
Контакты: ICQ 623334555 Skype: btwosoft; Mail: b2soft@yandex.ru
b2soft вне форума Ответить с цитированием
Старый 12.10.2010, 23:50   #3
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Код:
procedure degree(k:array of integer); 
var i:integer; max:integer; imax:integer;
begin
max:=k[1]; 
imax:=1; 
for i:=2 to 5 do
begin if k[i]>max then max:=k[i]; imax:=i;
end;
end;
Только оформить надо лучше в виде функции, и выглядеть это должно так:
Код:
type
  Tmas: array [1..5] of integer;
............

// функция вернет индекс максимального элемента
function Max(k: array of Tmas): integer;
var
  i: integer;
begin
  Imax;  // изначально считаем, что максимальным является 1-й элемент
  for i:=1 to High(Tmas) do
    if k[i] > k[Imax] then Imax:=i;
  Max:=Imax
end.
ну а если в виде процедуры:
Код:
procedure Max(k: array of Tmas, var MaxCount: integer);
var
  i: integer;
begin
  Imax;  // изначально считаем, что максимальным является 1-й элемент
  for i:=1 to High(Tmas) do
    if k[i] > k[Imax] then Imax:=i;
  MaxCount:=Imax
end;
ICQ: 593-013-807

Последний раз редактировалось Don Karleone; 12.10.2010 в 23:53.
Don Karleone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление элемента из одномерного массива V@mpire Общие вопросы C/C++ 1 02.06.2010 22:01
Поиск максимального и минимального элемента массива(с существенным дополнением) Dayterius Паскаль, Turbo Pascal, PascalABC.NET 6 20.05.2009 11:37
вычислить номер и величину максимального элемента массива, произведение элементов, среднее арифметическое Romer9999 Паскаль, Turbo Pascal, PascalABC.NET 6 19.01.2009 16:35
Поиск минимального (максимального) элемента массива Radamant Помощь студентам 10 24.12.2008 17:44
Написать подпрограмму-процедуру поиска максимального элемента в массиве Noxil Паскаль, Turbo Pascal, PascalABC.NET 3 27.11.2008 21:39