Помогите с двумя задачами(одномерные массивы)

Ответить
nitrozevs
Сообщения: 14
Зарегистрирован: 13 дек 2009, 15:38

Доброе время суток.
Помогите пожайлуста, мне задали 2 задачи на Паскале, они лёгкие, но я не как не могу дадуматься как их решать.
Напишите ФРАГМЕНТ(а именно ТЕЛО ПРОГРАММЫ от begin и до end):

вот условия:
1)В одномерном массиве, найти кол-во элементов, расположенных после первого нулевого элиемента и после последнего нулевого элемента. Сравнить эти данные.

2)Дан одномерный массив цеых чисел. Найти кол-во различных элементов данного массива (отсортировать).
XTen
Сообщения: 59
Зарегистрирован: 05 дек 2009, 15:08

Пиши, решу дёшево
ICQ: 410-691-984
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Ну если это: "В одномерном массиве, найти кол-во элементов, расположенных после первого нулевого элемента и после последнего нулевого элемента. Сравнить эти данные." первая подпрограмма, а это: "Найти кол-во различных элементов данного массива (отсортировать)." вторая, то основная программа может выглядеть так:
[syntax="pascal"]
begin
proc1;
proc2;
readln;
end;
[/syntax]
Если у Вас нет таких процедур, то это далеко не "ФРАГМЕНТ", а полностью программа. В этом случае для первой Вам может пригодиться:
[syntax="pascal"]
i:=0;
while a<>0 then inc(i);
kol1:=i;
i:=n;
//n - количество элементов массива
while a<>0 then dec(i);
kol2:=n-i;
if kol1<>kol2 then ...
[/syntax]
А на счет второй задание не совсем понятно: то ли посчитать кол-во неповторяющихся элементов, то ли действительно отсортировать.
Нет религии выше истины
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

1. for i:=n-1 downto 1 do
if A[n-i]=0 then break;
for j:=0 to n-1 do
if A[n-j]=0 then break;
i и j - исходные числа.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить