Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.03.2010, 22:18
|
|
Познающий
Регистрация: 17.02.2010
Сообщений: 45
Провел на форуме: 195184
Репутация:
47
|
|
Цитата:
Сообщение от Soherox
Так код уже выкладывался страница 578, #5772
не работает (
ошибка там
Приношу извинения, писал на Delphi, поэтому ошибка, все исправил для Pascal
Код:
const
n = 30;
var
a: array [1..n] of integer;
i, imax, imin, max, min: longint;
begin
min:=maxlongint;
max:=-min;
for i:=1 to n do
begin
read(a[i]);
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
if imin = imax then write('0')
else write(abs(imin - imax) - 1);
readln;
end.
|
|
|

17.03.2010, 22:24
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме: 870084
Репутация:
79
|
|
Soherox, блин и как я не заметил, что n это константа??? 
|
|
|

17.03.2010, 22:26
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
Сообщение от Soherox
Приношу извинения, писал на Delphi, поэтому ошибка, все исправил для Pascal
Код:
const
n = 30;
var
a: array [1..n] of integer;
i, imax, imin, max, min: longint;
begin
min:=maxlongint;
max:=-min;
for i:=1 to n do
begin
read(a[i]);
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
if imin = imax then write('0')
else write(abs(imin - imax) - 1);
readln;
end.
неизвестный maxlongint;
|
|
|

17.03.2010, 22:27
|
|
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме: 870084
Репутация:
79
|
|
На исправь longint на integer. Там все равно числа позволяют
|
|
|

17.03.2010, 22:29
|
|
Познающий
Регистрация: 17.02.2010
Сообщений: 45
Провел на форуме: 195184
Репутация:
47
|
|
MaTpOc...а теперь, вопрос, на каком Паскале Вы кодите? =) В Turbo Pascal ошибки не должно быть
|
|
|

17.03.2010, 22:33
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
Сообщение от fenixelite
На исправь longint на integer. Там все равно числа позволяют
Код:
const
n = 5;
var
a: array [1..n] of integer;
i, imax, imin, max, min: integer;
begin
min:=max;
max:=-min;
for i:=1 to n do
begin
read(a[i]);
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
if imin = imax then write('0')
else write(abs(imin - imax) - 1);
readln;
end.
я так поправил, вроде все ок, но выдает из 5элементов что 4 находятся между макс и мин...
|
|
|

17.03.2010, 22:34
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
Сообщение от Soherox
MaTpOc...а теперь, вопрос, на каком Паскале Вы кодите? =) В Turbo Pascal ошибки не должно быть
PascalABC, пока нашел только отличие в названии, тут название можно и не делать...
|
|
|

17.03.2010, 22:35
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме: 3055344
Репутация:
259
|
|
кароче............... вот........
PHP код:
n = 30;
var
a: array [1..n] of integer;
i, imax, imin, max, min: integer;
begin
writeln('Zapolnite massive');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln;
max:=a[1];
min:=a[1];
for i:=2 to n do
begin
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
k=abs(imin - imax) - 1
if n=0 then writeln('0')
else writeln(k);
readln;
end.
|
|
|

17.03.2010, 22:39
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
Сообщение от EndLeSSDre@M
кароче............... вот........
PHP код:
n = 30;
var
a: array [1..n] of integer;
i, imax, imin, max, min: integer;
begin
writeln('Zapolnite massive');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln;
max:=a[1];
min:=a[1];
for i:=2 to n do
begin
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
k=abs(imin - imax) - 1
if n=0 then writeln('0')
else writeln(k);
readln;
end.
Код:
const
n = 5;
var
a: array [1..n] of integer;
i, imax, imin, max, min,k: integer;
begin
writeln('Zapolnite massive');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln;
max:=a[1];
min:=a[1];
for i:=2 to n do
begin
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
k:=abs(imin - imax)-1;
if n=0 then writeln('0')
else writeln(k);
readln;
end.
поправил и заработало, но опять же между 1..5 кол-во элементов 3( 2 3 4) а не 4 как выдает прога (
|
|
|

17.03.2010, 22:46
|
|
Познающий
Регистрация: 17.02.2010
Сообщений: 45
Провел на форуме: 195184
Репутация:
47
|
|
а да емеае, воотка
Код:
const
n = 5;
var
a: array [1..n] of longint;
i, imax, imin, max, min: longint;
begin
min:=21474836;
max:=-min;
for i:=1 to n do
begin
read(a[i]);
if a[i] > max then
begin
imax:=i;
max:=a[i];
end;
if a[i] < min then
begin
imin:=i;
min:=a[i];
end;
end;
if imin = imax then write('0')
else write(abs(imin - imax) - 1);
readln;
end.
если и сейчас скажешь что не работает, прибью 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|