Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Массив

Автор: Lorien 20.04.2006 5:56

Есть задачка: Найти минимальный элемент одномерного массива и поменять местами пятый элемент с минимальным. Вывести на экран исходный и результирующий массивы.
Минимальный меняется с 5 элементом,но так же он остается еще и на своем месте.
Например: исходный массив 1 2 3 4 5
min=1
новый массив 1 2 3 4 1

Код

program z1;
var a: array [1..5] of integer;
    i,min,c: integer;
begin
for i:=1 to 5 do
readln(a[i]);
for i:=1 to 5 do
writeln('a[i]=',a[i]);
min:=a[1];
for i:=1 to 5 do
if a[i]<min then min:=a[i];
writeln('min=',min);
readln;
a[i]:=min;
min:=a[5];
a[5]:=a[i];
writeln;
for i:=1 to 5 do
writeln(a[i],' ');
readln;
end.

Автор: Bokul 20.04.2006 7:53

Ты сам себе противоречешь: сначала написал что надо поменять
местами 5-ый элемент с найменьшим, потом - присвоить 5-ому элементу
наименьшее значение.
Написал решения для последнего варианта, даже не написал, а чуть-чуть
подправил твое.

Код
const num=10; {количество елеметов в массиве}
var a:array[1..num] of integer;
    i,min,n_min,c:integer;
begin
for i:=1 to num do
readln(a[i]);
for i:=1 num do
writeln('a',i,' = ',a[i]);
min:=a[1];
for i:=1 to num do
if a[i]<min then min:=a[i];
writeln('min = ',min);
a[5]:=min;
for i:=1 to num do
writeln('a',i,' = ',a[i]);
readln;
end.

Автор: Lorien 20.04.2006 8:06

Спасибо, я тебе очень благодарна... ты спас меня

Автор: klem4 20.04.2006 11:32

no1.gif

Цитата
Найти минимальный элемент одномерного массива и поменять местами пятый элемент с минимальным.


//...
nmin := 1;

for i := 2 to n do
if x[i] < x[nmin] then nmin := i;

t := x[5];
x[5] := x[nmin];
x[nmin] := t;
//...