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

1) Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии — количество этих элементов (длина серии может быть равна 1)  Вывести массив, содержащий длины всех серий исходного массива.       2) Проверить, образуют ли элементы целочисленного массива размера N 1)арифметическую,2)геометрическую прогрессию. Если да, то вывести 1)разность2) знаменатель прогрессии, если нет — вывести 0.
Гость
Ответ(ы) на вопрос:
Гость
Если не ошебаюсь то так ) Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные номера выводить в порядке их возрастания. var a,d:array[1..255]of integer; i,c,n:byte; begin write('n='); read(n); for i:=1 to n do begin write('a[',i,']='); read(a) end; writeln; c:=0; for i:=1 to n-1 do if a>a[i+1] then begin c:=c+1; d[c]:=i end; writeln('TaKuX EJIEMEHTOB:',c); for i:=1 to c do write(d,' '); writeln end. 2) Дан целочисленный массив A размера N,являющийся перестановкой. Найти количество инверсий в данной перестановке,т.е. таких пар Ai И Aj элементов в которых большее число находится слева от меньшего:Ai>Aj при iL) и целочисленный массив размера N. Заменить каждую серию массива, длина которой меньше L, на один элемент с нулевым значением. Что-то я не понял, что это за Л? Вот решил так: var a:array[1..256]of integer; i,j,n:byte; c:integer; begin write('n='); read(n); for i:=1 to n do begin write('a[',i,']='); read(a) end; writeln; c:=0; for i:=1 to n-1 do for j:=i+1 to n do if a>a[j] then inc(c); writeln('Колличество инверсий - ',c); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы