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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2012, 21:19   #1
3Doleg
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 67
По умолчанию ошибка в процедуре

даны три вектора. найти максимальный парный элемент каждого вектора и упорядочить их по убыванию. Поиск максимального элемента вектора выполнить в виде процедуры

я делал для одного вектора,потом 2 добавлю)

[PASCAL]program a10; uses crt; const n=20;
type a1=array[1..n]of integer;

procedure maxi (var ar: a1 ; k : integer; max:integer);
begin
max:=-1000;
for k:=1 to 20 do
if (ar[k] mod 2 = 0) and (ar[k]>max)
then max:=ar[k];
end;

var i,j,maxx:integer; m,l,k,max:integer;
begin clrscr;
writeln('vvedit rozmirnist masuvy : ');
readln(m);
for i:= 1 to m do begin
for j:= 1 to m do begin
a1[i]:=random(7)-14;
write(a[i],' ');
end;
for i:=1 to n-1 do
for j:=i+1 to m do
if a[i]<a1[j] then begin
l:=a[i];
a1[i]:=a1[j];
end;
for i:=1 to m do
for j:=1 to m do begin
maxx:=maxi(max);
writeln;
end.
[/PASCAL]

Заранее спасибо)
3Doleg вне форума Ответить с цитированием
Старый 19.11.2012, 22:07   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

И какой это Паскаль?
1. Смотри на этот код:
Код:
type a1=array[1..n]of integer;
и
Код:
a1[i]:=random(7)-14;
В первом случае описан тип данных (правило, по которому компилятор будет использовать переменные такого типа)
Во втором случае - выполняется операция над типом.
Вроде как надо, например,
var mas : a1;
и затем:
Код:
mas[i]:=random(7)-14;
2.
Код:
procedure maxi (var ar: a1 ; k : integer; max:integer);
begin
max:=-1000;
for k:=1 to 20 do
if (ar[k] mod 2 = 0) and (ar[k]>max)
then max:=ar[k];
end;
Из заголовка процедуры видно, что ar - массив, из которого можно читать и в него можно писать.
Параметры k и max - значения. Т.е. это уже вычисленные величины.
Т.о. что значит код?
Код:
max:=-1000;
или
Код:
for k:=1 to 20 do
Возможно, что надо так:
Код:
procedure maxi (var ar: a1; var max:integer);
var k : integer;
begin
max:=-1000;
for k:=1 to 20 do
if (ar[k] mod 2 = 0) and (ar[k]>max)
then max:=ar[k];
end;
Вот только такая процедура может вернуть max равным -1000

И ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.11.2012, 22:24   #3
3Doleg
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 67
По умолчанию

спасибо, исправил, но все равно считает неправильно, помогите плис)!
3Doleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в процедуре C++ Karina89 Помощь студентам 4 24.11.2011 18:25
Ошибка в процедуре Yalovick Паскаль, Turbo Pascal, PascalABC.NET 1 13.05.2011 20:38
Ошибка в процедуре H_U_M_M_E_R Помощь студентам 2 02.06.2010 18:51
Ошибка в процедуре GAGARIN-NEW Помощь студентам 2 21.12.2007 09:23