Помощь - Поиск - Пользователи - Календарь
Полная версия: 3 задачи на массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Crass
Здравствуйте ! Помогите пожалуйста решить три задачи на массивы ... желательно текст программы ...

1) Дано целое число N и набор из N целых чисел. Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.

2) Дано множество А из N точек ( N > 2, точки заданы своими координатами х,у). найти наименьший периметр треугольника, вершины которого в различных точках множества А и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества А.

3) Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым значением.
klem4
Сам не пробовал делать ? Что конкретно не получается ?
Crass
я просто хз как ето делать ... с массивами плоховато у мя ... = (((
Ozzя
3-я
For i:=2 to n do
if a[i] >0 then
a[i-1]:=0;
klem4
А перед первым положительным не надо вставлять (если a[1] > 0) ? Без буферного массива не обойтись, ну или какого другого хранилища, либо изначально под массив заводить в 2 раза больше памяти.

+ У тебя даже не вставка получается а замена ...
Crass
Задача, похожая на 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 


где с : char

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.