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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2013, 22:46   #1
NoviceYola
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 19
Сообщение Подпрограммы(Процедура).

Составить процедуру,печатающую 3 наибольших элемента массива за один его просмотр.
NoviceYola вне форума Ответить с цитированием
Старый 09.11.2013, 22:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
procedure proceduree;
var i,k:integer; max:array[1..3] of integer;
begin
 max[1]:=-maxint; max[2]:=max[1]; max[3]:=max[1];
 for i:=1 to 10 do begin
  if max[3]<a[i] then max[3]:=a[i];
  if max[2]<max[3] then begin k:=max[2]; max[2]:=max[3];max[3]:=k;end;
  if max[1]<max[2] then begin k:=max[1]; max[1]:=max[2];max[2]:=k;end;
 end;
 write(max[1],max[2],max[3]);
end;
Могу ошибаться, т.к. не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2013, 23:36   #3
NoviceYola
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
С потолка,могу ошибаться, т.к. не проверял.
"Неизвестный идентификатор а".
NoviceYola вне форума Ответить с цитированием
Старый 10.11.2013, 00:38   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от NoviceYola Посмотреть сообщение
"Неизвестный идентификатор а".
Ну да, массив Вам нужно объявить с именем а (глобальный), заполнить его, а потом уже вызывать процедуру.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 10.11.2013, 18:58   #5
NoviceYola
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 19
Сообщение

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну да, массив Вам нужно объявить с именем а (глобальный), заполнить его, а потом уже вызывать процедуру.
Напишите пли3)
NoviceYola вне форума Ответить с цитированием
Старый 10.11.2013, 19:42   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Так будет неинтересно
Что тогда останется сделать Вам? Вы попробуйте разобраться, напишите что-нибудь, тогда поможем исправить.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 20.11.2013, 18:55   #7
NoviceYola
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Так будет неинтересно
Что тогда останется сделать Вам? Вы попробуйте разобраться, напишите что-нибудь, тогда поможем исправить.
Вот:
Код:
Program _1;
var a: array [1..10] of integer;
i: integer;

procedure proceduree;
var i,k:integer; max:array[1..10] of integer;
begin
max[1]:=-maxint; max[2]:=max[1]; max[3]:=max[1];
for i:=1 to 10 do begin
if max[3]<a[i] then max[3]:=a[i];
if max[2]<max[3] then begin k:=max[2]; max[2]:=max[3];max[3]:=k;end;
if max[1]<max[2] then begin k:=max[1]; max[1]:=max[2];max[2]:=k;end;
end;
write(' ', max[1], ' ', max[2], ' ', max[3]);
end;

begin
for i:= 1 to 10 do
begin
a[i]:= random (100);
write (' ', a[i]);
writeln;
end;
proceduree;
end.
p.s. Только не совсем понятно,что за "maxint"
Можно ли "max's" заменить символьными переменными?!
NoviceYola вне форума Ответить с цитированием
Старый 20.11.2013, 18:58   #8
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Maxint - максимальное значение для целого типа
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 20.11.2013, 19:52   #9
NoviceYola
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Maxint - максимальное значение для целого типа
а что насчет замены переменных ?
NoviceYola вне форума Ответить с цитированием
Старый 20.11.2013, 20:07   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
не совсем понятно,что за "maxint"
Стандартная константа, содержащая самое большое целое, которое проц твой может обработать.
Цитата:
Можно ли "max's" заменить символьными переменными?!
Тоесть? В каком смысле "символьными"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подпрограммы Shao1993 Паскаль, Turbo Pascal, PascalABC.NET 0 22.04.2013 14:48
Подпрограммы-процедуры, подпрограммы-функции в Pascal rishikesh Помощь студентам 19 18.05.2010 23:05
Подпрограммы Neyrone Помощь студентам 8 14.12.2009 12:56
Процедура в процедура в C++ Builder Ecosasha C++ Builder 2 06.06.2009 17:17