Консультация № 151666
24.11.2008, 17:25
0.00 руб.
24.11.2008, 17:26
0 4 3
Уважаемые эксперты пожадуста помогите решить задачу!!! Задача: как поменять местами наибольший и наименьший элементы в одномерном массива ??? Пожалуста.....

Обсуждение

давно
Старший Модератор
31795
6196
24.11.2008, 17:32
общий
А как Вы пробывали?
Покажите свой код, продскажем, что не так.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
24.11.2008, 17:32
общий
это ответ
Здравствуйте, Гриценко Тория Юрьевна!
Необходимо объявить новую переменную... Ей присвоить значение минимума, потом минимуму присвоить значение максимума, и в заключение максимуму присвоить значение вот той новой переменной :)...

Надеюсь вам помогуло, если что можно подробней, но нужно только программу видеть ;)...
Неизвестный
24.11.2008, 18:27
общий
это ответ
Здравствуйте, Гриценко Тория Юрьевна!
Вот примерный вариант решения задачи. Размерность массива свою подставите
var mas: [1..10] array of integer; {задаем массив типа integer из 10 элементов}
i, maxi, mini:byte;
max,min:integer;
begin
for i:=1 to 10 do {начинаем забивать массив элементами}
begin
write ('Введите ',i,' элемент массива);
readln(a[i]);
end;
min:=a[1]; {Обнуляем показатели min и max}
max:=a[1];
for i:=1 to 10 do { В этом цикле находим максимальный и минимальный элементы массива и запоминаем их порядковый номер }
begin
if a[i]<min then begin min:=a[i]; mini:=i; end;
if a[i]>max then max:=a[i]; maxi:=i; end;
end;
a[mini]:=max; { Переставляем местами максимальный и минимальный элементы}
a[maxi]:=min;
for i:=1 to 10 do write(a[i]:3); {Выводим массив на экран}
end.
Неизвестный
25.11.2008, 12:51
общий
это ответ
Здравствуйте, Гриценко Тория Юрьевна!
В приложении программа. Она работает. Если будет что-то непонятно - пишите, я поясню.

Приложение:
program change;

const
N = 4; {количество элементов массива}

var
temp1, temp2, i: integer; {вспомогательные переменные}
min, max: integer;
a: array [1..N] of integer;

begin
{заполнение массива}
for i:= 1 to N do begin
writeln('a[i]');
readln(a[i]);
end;


min:= a[1];
max:= a[1];
temp1:= 1;
temp2:= 1;

{поиск максимального и минимального элементов}
for i:=2 to N do begin
if min>a[i] then begin
min:= a[i];
temp1:=i;
end else if max<a[i] then begin
max:= a[i];
temp2:= i;
end;
end;

{обмен местами min и max}
i:= a[temp1];
a[temp1]:=a[temp2];
a[temp2]:=i;

{вывод результата на экран}
for i:= 1 to N do begin
write (a[i], ' ');
end;

readln;
end.
Форма ответа