ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #5801  
Старый 17.03.2010, 22:18
Soherox
Познающий
Регистрация: 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.
 

  #5802  
Старый 17.03.2010, 22:24
fenixelite
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме:
870084

Репутация: 79
Отправить сообщение для fenixelite с помощью ICQ
По умолчанию

Soherox, блин и как я не заметил, что n это константа???
 

  #5803  
Старый 17.03.2010, 22:26
MaTpOc
Познавший АНТИЧАТ
Регистрация: 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;
 

  #5804  
Старый 17.03.2010, 22:27
fenixelite
Участник форума
Регистрация: 07.02.2010
Сообщений: 189
Провел на форуме:
870084

Репутация: 79
Отправить сообщение для fenixelite с помощью ICQ
По умолчанию

На исправь longint на integer. Там все равно числа позволяют
 

  #5805  
Старый 17.03.2010, 22:29
Soherox
Познающий
Регистрация: 17.02.2010
Сообщений: 45
Провел на форуме:
195184

Репутация: 47
По умолчанию

MaTpOc...а теперь, вопрос, на каком Паскале Вы кодите? =) В Turbo Pascal ошибки не должно быть
 

  #5806  
Старый 17.03.2010, 22:33
MaTpOc
Познавший АНТИЧАТ
Регистрация: 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 находятся между макс и мин...
 

  #5807  
Старый 17.03.2010, 22:34
MaTpOc
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме:
10311449

Репутация: 1357


По умолчанию

Цитата:
Сообщение от Soherox  
MaTpOc...а теперь, вопрос, на каком Паскале Вы кодите? =) В Turbo Pascal ошибки не должно быть
PascalABC, пока нашел только отличие в названии, тут название можно и не делать...
 

  #5808  
Старый 17.03.2010, 22:35
EndLeSSDre@M
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме:
3055344

Репутация: 259
Отправить сообщение для EndLeSSDre@M с помощью ICQ
По умолчанию

кароче............... вот........
PHP код:

  n 
30;  
var  
  
a: array [1..nof integer;  
  
iimaximinmaxmininteger;  

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) - 
   
if n=0 then writeln('0')  
  else 
writeln(k);  
  
readln;  
end
 

  #5809  
Старый 17.03.2010, 22:39
MaTpOc
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме:
10311449

Репутация: 1357


По умолчанию

Цитата:
Сообщение от EndLeSSDre@M  
кароче............... вот........
PHP код:

  n 
30;  
var  
  
a: array [1..nof integer;  
  
iimaximinmaxmininteger;  

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) - 
   
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 как выдает прога (
 

  #5810  
Старый 17.03.2010, 22:46
Soherox
Познающий
Регистрация: 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)
 


Быстрый переход




ANTICHAT.XYZ