Здравствуйте ! Помогите пожалуйста решить три задачи на массивы ... желательно текст программы ...
1) Дано целое число N и набор из N целых чисел. Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.
2) Дано множество А из N точек ( N > 2, точки заданы своими координатами х,у). найти наименьший периметр треугольника, вершины которого в различных точках множества А и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества А.
3) Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым значением.
Сам не пробовал делать ? Что конкретно не получается ?
я просто хз как ето делать ... с массивами плоховато у мя ... = (((
3-я
For i:=2 to n do
if a[i] >0 then
a[i-1]:=0;
А перед первым положительным не надо вставлять (если a[1] > 0) ? Без буферного массива не обойтись, ну или какого другого хранилища, либо изначально под массив заводить в 2 раза больше памяти.
+ У тебя даже не вставка получается а замена ...
Задача, похожая на 3, только в условии - после каждого отрицательного вставить элемент с нулевым значением.
var i,n,j:integer;
a:array of integer;
begin
n:=5;
setlength(a,n);
for I := 0 to n-1 do
begin
write ('a[',i,']=');
readln(a[i]);
end;
for i := 0 to n-1 do
if a[i]<0 then
begin
n:=n+1;
setlength(a,n);
for j:=(n-1) downto i+1 do
a[j]:=a[j-1];
a[i+1]:=0;
end;
for i := 0 to n-1 do
writeln (' a[',i,']=' ,a[i]) ;
readln
if (c<>' ') and (c<>#13) and (c<>#10) then