program N69557052;
const n = 10;
a:array[ 1 .. n ] of real = (0,0,0,0,0,0,0,0,0,0);
{ a:array[ 1 .. n ] of real = (-1,-2,-3,-4,-5,-6,-7,-8,-9,-10);}
{ a:array[ 1 .. n ] of real = (1,2,3,4,5,6,7,8,9,10);}
{ a:array[ 1 .. n ] of real = (1,2,3,4,5,0,7,8,9,10);}
{ a:array[ 1 .. n ] of real = (1,2,-3,4,5,6,7,8,9,10);}
var f:boolean;
i:byte;
begin
i := 2;
repeat
f := (a[ i ] = 0) and (a[ i - 1 ] = 0) or (a[ i ] * a[ i - 1 ] > 0);
inc(i) {или i := i + 1}
until not f or (i > n);
if f then
writeln('Унимодальный')
else
writeln('Не унимодальный');
readln
end.
P.S. Закомментированы различные массивы, на которых тестировалась программа.
Нулевые значения проверяются отдельно, так как ноль - это не положительное и не отрицательное число, а по его поводу в вашем задании ничего не сказано.
Другие языки программирования и технологии
Turbo Pascal. Определить, является ли массив унимодальным, (т.е. содержит ли он элементы только одного знака).
массив - в arr дополнительные переменные i, negative, positive - integer
positive := 0;
negative := 0;
for i := 0 to High(arr) do
if arr[ i] >= 0 then Inc(positive)
else Inc(negative);
if ((positive = 0) and (negative >0)) or ((negative = 0) and (positive>0) then // Унимодальный
else // не унимодальный.
positive := 0;
negative := 0;
for i := 0 to High(arr) do
if arr[ i] >= 0 then Inc(positive)
else Inc(negative);
if ((positive = 0) and (negative >0)) or ((negative = 0) and (positive>0) then // Унимодальный
else // не унимодальный.
На почту.
Похожие вопросы
- Разработка в среде TURBO PASCAL программы перестановки элементов массива.
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!
- Определить является ли кол-во положительных элементов массива числом чётных
- Turbo Pascal. Дан двумерный массив. Все нули заменить максимальным элементом.
- Дан прямоугольный целочисленный массив размером N*N. Определить является ли данный массив магическим квадратом, т.е. сум
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- Дан двумерный масссив. Найти и вывести максимальный элемент каждой строки. Turbo Pascal
- Объясните кто нибудь пожалуйста Массивы в Turbo Pascal
- Люди помогите пожалуйста....Кто понимает TURBO PASCAL