Покопалась, никак не могу найти, все не то...
А у самой что-то не получается...
Помогите чем можете!..
Найти min/max можешь? А их индексы?
Мин и макс может и найду, , а вот с индексами... че то я не знаю...
"Дан одномерный массив А, состоящий из 2n элементов. Поменять местами первую и вторую его половины" - вот это могу. А вот с размером 10... не догоню как
Можете подробно в коде самое важное написать?..
покажи, как ты умеешь искать мин и макс
там надо будет добавить по одной строчке - это будет запоминание их индексов.
а потом поменять 2 числа - думаю, это ты умеешь.
Вот:
const maxSize=50;
type vector=array [1..maxSize] of double;
type vector=array [1..minSize] of double;
var a: vector;
i,n,nMax,nMin,j,m: byte;
temp=double;
begin
write ('n=');
read (n);
{ввод массива}
for i:=1 to n do
begin
write ('a[',i,']=');
read (a[i]);
end;
begin
nMax:=1;
for i:=1 to n do
if a[i]>a[nMax]
then nMax:=i;
{если встретится больший элемент, то запомним его номер}
write ('номер=',nMax,'max значение=',a[nMax]:8:2);
end.
Делаешь тоже самое для nMin и меняешь так:
temp:=a[nMax]; a[nMax]:=a[nMin]; a[nMin]:=temp;, где temp - переменная типа double.
Lady_Dark, прекрасно ... Теперь проделываешь то же самое для нахождения номера минимального элемента, скажем, он у тебя будет называться nMin, и после того, как найдешь - меняешь местами элементы a[nMin] и a[nMax] через третью, буферную переменную...
Тупо, не так, да?
const maxSize=50;
type vector=array [1..maxSize] of double;
type vector=array [1..minSize] of double;
var a: vector;
i,n,nMax,nMin,j,m: byte;
temp=double;
begin
write ('n=');
read (n);
{ввод массива}
for i:=1 to n do
begin
write ('a[',i,']=');
read (a[i]);
end;
begin
nMax:=1;
for i:=1 to n do
if a[i]>a[nMax]
then nMax:=i;
{если встретится больший элемент, то запомним его номер}
write ('номер=',nMax,'max значение=',a[nMax]:8:2);
end;
begin
write ('m=');
read (m);
{ввод массива}
for j:=1 to m do
begin
write ('a[',i,']=');
read (a[i]);
end;
begin
nMin:=1;
for j:=1 to m do
if a[i]>a[nMin]
then nMin:=j;
{если встретится больший элемент, то запомним его номер}
write ('номер=',nMin,'min значение=',a[nMin]:8:2);
end;
begin
temp:=a[nMax]; a[nMax]:=a[nMin]; a[nMin]:=temp;
end.
if a[i]>a[nMin]
http://www.nefory.narod.ru/ARRAY.PAS
бегин экспектед... =) =(
ААА! ИСПРАВЬТЕ МНЕ ЕЕ! =)))