Показать сообщение отдельно
Старый 12.06.2012, 17:42   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Дорогая Натуличка, мой Вам совет - установить на компьютер какой-либо пакет языка Паскаль, и любые программы запускать и отлаживать на компьютере, а не в тетрадке. По крайней мере, освоите синтаксис языка. Потому что любой транслятор, увидя такие перлы:
Цитата:
var a, array [1..20] of integer;
i,n,max,min of integer;
разразится матерной тирадой.
На всякий случай - правильно так:
var
a: array [1..20] of integer;
i,n,max,min: integer;
Теперь по программе.
Судя по всему, Вы решили пойти обычным путем, без ввода лишней информации. И правильно, потому что знаете, как выглядит задача, если исходить из "требований преподавателя"? А примерно так:
Даны три числа: 5, 17, и 41. Найти максимальное, равное 41, стоящее на третьей позиции.
Полный бред.
Так что если Вас устроит обычный алгоритм ввода и обработки массива, то это так:
Код:
const
 Nmax=100;
var
 a: array [1..Nmax] of integer;
 i,n,max,min,Imin,Imax: integer;
begin
 writeln ('ввод кол-во эл массива');
 readln (n);
 writeln ('ввод эл массива');
  for i:=1 to n do
   readln (a [i]);
 writeln;
 for i:=1 to n do write(a[i]:4);
 writeln;
 writeln;
 max:= a[1];
 min:= a[1];
 Imin:=1;
 Imax:=1;
 for i:=2 to n do
  begin
   if a[i]<min then
    begin
     min:=a[i];
     Imin:=i;
    end;
   if a[i]>max then
    begin
     max:=a[i];
     Imax:=i;
    end;
  end;
 a[Imin]:=a[Imax];
 for i:=1 to n do write(a[i]:4);
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070