Array25. Дан массив ненулевых целых чисел размера $$N$$. Проверить, образуют ли его элементы геометрическую прогрессию (см. задание Array4). Если образуют, то вывести знаменатель прогрессии, если нет — вывести $$0$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
program Array25; var a:array[1..10] of integer; N,i:Integer; znam:Real; begin Write('N: '); Readln(N); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; znam:=a[2]/a[1]; for i:=2 to N do if znam <> a[i]/a[i-1] then znam:=0; Writeln (znam); end. |
Другие задачи из раздела Array можно посмотреть здесь.
А вот это неправильно, что знаменатель вещественный. Сравнивать на равенство вещественные числа нельзя, только на разность меньше эпсилон. Да и они уже обновили условие этой задачи на сайте – добавили условие целочисленности знаменателя.