Помощь - Поиск - Пользователи - Календарь
Полная версия: Дан массив А1...А20. Замените в нём...
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Djeyms
Помогите пожалуйста с заданием, дописать код программы.
Дан массив А1...А20. Замените в нём элементы, стоящие между Amax и Amin, на 0.
Спасибо.

  Uses
    Crt;
var
 i,j,S:integer;
 min,max:real;
  A:array [1..20] of word;
 BEGIN
  CLRSCR;
  
for i:=1 to 20 do
begin
write('A[',i,']=');readln(A[i]);
if A[i]>max then max:=A[i];
end;
min:=max;
for i:=1 to 20 do
begin
if A[i]<min then min:=A[i];
if A[i]=max then else A[i]:=0;
if A[i]=min then else A[i]:=0; 
Write(' ',A[i],' ');
end;
Writeln;
Writeln('min = ',min);
Writeln('max = ',max);
Writeln;
Readln;
END.



Amax и Amin он определяет правильно
Но этот код заменяет всё на нули
if A[i]=max then else A[i]:=0;
if A[i]=min then else A[i]:=0;

А как дописать что бы он заменял по заданию, знаний не хватает((
Krjuger
Ну и правильно делает,Ты посмотри на свое условие.Что ты спрашиваеш.Если A[i] максимально то ничего,в противном слушае(else) a[i]:=0;ну и для минимума тоже.Еще выставтьне изначальные значения максимума на 0.

  Uses
    Crt;
var
 i,j,n,m,S:integer;
 min,max:real;
  A:array [1..20] of word;
 BEGIN
  CLRSCR;
max:=0;
  
for i:=1 to 20 do
begin
write('A[',i,']=');readln(A[i]);
if A[i]>max then begin
  max:=A[i];
  n:=i;//надо запомнить наш максимальный элемент
end;
end;
min:=max+1;
for i:=1 to 20 do
begin
if A[i]<min then begin 
 min:=A[i];
 m:=i;//запоминаем наш минимальный 
end;
end;
if m-1>=n+1 then begin
for i:=n+1 to m-1 do
 A[i]:=0;
end
else begin
 for i:=m+1 to n-1 do
 A[i]:=0;
end;
for i:=1 to 20 do 
 write(A[i],' ');
Writeln;
Writeln('min = ',min);
Writeln('max = ',max);
Writeln;
Readln;
END.


Вроде так,наверно можно сделать все покороче,но щас придумать ничего не могу.
Lapp
Krjuger, комментарии в ТР делаются только фигурными скобками. В FP - двойным слэшем: // . Одинарный слэш не применяется для этой цели нигде..

Дальше: ты хочешь сказать, что твой компилятор пропустил двоеточие перед else? blink.gif
Krjuger
Нет не пропустил конешно же,щас исправлю,просто при переносе,незнаю почему,но скопировал не финальную версию,а предфинальную(";" перед элсом... не убрал)Наверно не проснулся еще...sad.gif
Извиняюсь.
Насчет коментов,да я понимаю,я их уже на форуме писал,в самом паскале их небыло вообще.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.