Написать 2 программки:1. Проверить, есть ли в массиве отрицательные элементы. Если есть,
Написать 2 программки:
1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такового элемента, b-номер последнего. (использовать барьер)
2. Проверить, является ли массив целых чисел симметричным
Бердак
Паша
Ну и терминология! Что за "барьер" такой?
Макатова
Софья
Барьерный алгоритм употребляется для поиска в неупорядоченном массиве. То есть в массиве мы ставим шаблон
Аделя
В массиве находятся значения частей. Как там можно что-то еще "ставить"?
Марина Кириякина
Дурачятся детям головы околонаучными терминами... лучше юы алгоритмизацию за истраченное на эту чепуху время объясняли.
Намханенко
Виолетта
На сто процентов согласна) но ничего уж не поделаешь
2 ответа
Vitalij
Const
n = 10;
var
a: array[1..n] of integer;
i, p, q: integer;
flag: boolean;
begin
1. Инициализируем массив
Randomize;
Write('Элементы массива: ');
for i := 1 to n do
begin
a[i] := Random(101) - 50;
Write(a[i]:5)
end;
Writeln;
2. проверяем элементы массива на наличие отрицательных значений
flag := true;
i := 1;
2.1 Разыскиваем первое по порядку отрицательное
while flag and (i lt;= n) do
begin
flag := (a[i] gt;= 0);
i := i + 1
end;
if flag then Writeln('В массиве нет отрицательных элементов')
else begin
p := i - 1;
2.1 Ищем заключительнее по порядку отрицательное
i := n;
flag := true;
while flag and (i gt; p) do
begin
flag := (a[i] gt;= 0);
i := i - 1
end;
if flag then Writeln('В массиве один отрицательный элемент с номером ', p)
else
Writeln('Отрицательные элементы лежат в промежутко от ', p, ' до ', i + 1)
end
end.
Тестовое решение:
Элементы массива: 17 -45 -29 -30 32 -12 29 -39 20 6
Отрицательные элементы лежат в промежутке от 2 до 8
const
nm = 50;наибольшая длина массива
var
i, n, n2: integer;
a: array[1..nm] of integer;
flag: boolean;
begin
1. Инициализация массива
Write('Введите количество частей в массиве: ');
Readln(n);
Write('Введите элементы массива через пробел ');
for i := 1 to n do Read(a[i]);
2. Проверка симметричности массива
flag := true;
i := 1;
n2 := n div 2;
while flag and (i lt;= n2) do
begin
flag := (a[i] = a[n - i + 1]);
i := i + 1
end;
if flag then Writeln('Массив является симметричным')
else Writeln('Массив не является симметричным')
end.
Тестовое решение:
Введите количество частей в массиве: 8
Введите элементы массива через пробел 1 7 3 4 4 2 7 1
Массив не является симметричным
Введите количество частей в массиве: 7
Введите элементы массива через пробел 8 4 9 1 9 4 8
Массив является симметричным
n = 10;
var
a: array[1..n] of integer;
i, p, q: integer;
flag: boolean;
begin
1. Инициализируем массив
Randomize;
Write('Элементы массива: ');
for i := 1 to n do
begin
a[i] := Random(101) - 50;
Write(a[i]:5)
end;
Writeln;
2. проверяем элементы массива на наличие отрицательных значений
flag := true;
i := 1;
2.1 Разыскиваем первое по порядку отрицательное
while flag and (i lt;= n) do
begin
flag := (a[i] gt;= 0);
i := i + 1
end;
if flag then Writeln('В массиве нет отрицательных элементов')
else begin
p := i - 1;
2.1 Ищем заключительнее по порядку отрицательное
i := n;
flag := true;
while flag and (i gt; p) do
begin
flag := (a[i] gt;= 0);
i := i - 1
end;
if flag then Writeln('В массиве один отрицательный элемент с номером ', p)
else
Writeln('Отрицательные элементы лежат в промежутко от ', p, ' до ', i + 1)
end
end.
Тестовое решение:
Элементы массива: 17 -45 -29 -30 32 -12 29 -39 20 6
Отрицательные элементы лежат в промежутке от 2 до 8
const
nm = 50;наибольшая длина массива
var
i, n, n2: integer;
a: array[1..nm] of integer;
flag: boolean;
begin
1. Инициализация массива
Write('Введите количество частей в массиве: ');
Readln(n);
Write('Введите элементы массива через пробел ');
for i := 1 to n do Read(a[i]);
2. Проверка симметричности массива
flag := true;
i := 1;
n2 := n div 2;
while flag and (i lt;= n2) do
begin
flag := (a[i] = a[n - i + 1]);
i := i + 1
end;
if flag then Writeln('Массив является симметричным')
else Writeln('Массив не является симметричным')
end.
Тестовое решение:
Введите количество частей в массиве: 8
Введите элементы массива через пробел 1 7 3 4 4 2 7 1
Массив не является симметричным
Введите количество частей в массиве: 7
Введите элементы массива через пробел 8 4 9 1 9 4 8
Массив является симметричным
Дмитрий Едков
Program z1;
var ar: array of integer;
f, l, i, N: integer;
begin
readln(N);
setlength(ar, N+1);
for i:=1 to N do read(ar[i]);
f:=-1;
for i:=1 to N do begin
if ar[i]lt;0 then begin
f:=i;
break;
end;
end;
if fgt;0 then begin
for i:=N downto 1 do begin
if ar[i]lt;0 then begin
l:=i;
break;
end;
end;
write(f,' ', l);
end
else write('No');
end.
program z2;
var ar: array of integer;
i, N: integer;
otv: boolean;
begin
readln(N);
setlength(ar, N+1);
for i:=1 to N do read(ar[i]);
for i:=1 to N div 2+1 do begin
if ar[i]lt;gt;ar[N-i+1] then begin otv:=true; break; end;
end;
if otv=true then write('No')
else write('Yes');end.
var ar: array of integer;
f, l, i, N: integer;
begin
readln(N);
setlength(ar, N+1);
for i:=1 to N do read(ar[i]);
f:=-1;
for i:=1 to N do begin
if ar[i]lt;0 then begin
f:=i;
break;
end;
end;
if fgt;0 then begin
for i:=N downto 1 do begin
if ar[i]lt;0 then begin
l:=i;
break;
end;
end;
write(f,' ', l);
end
else write('No');
end.
program z2;
var ar: array of integer;
i, N: integer;
otv: boolean;
begin
readln(N);
setlength(ar, N+1);
for i:=1 to N do read(ar[i]);
for i:=1 to N div 2+1 do begin
if ar[i]lt;gt;ar[N-i+1] then begin otv:=true; break; end;
end;
if otv=true then write('No')
else write('Yes');end.
Ульяна Гатиятулина
Вторая программка работает образцово, спасибо громадное! А вот 1-ая не получается
Данил
А где ошибка в 1? У меня выводит правильные ответы
Громоковкин
Никита
1-ый ввод - кол-во чисел в массиве, дальше идут сами числа, выводит номер 1 и последнего
Амелия Бобкова-Басова
Обычно учители за break наказывают нещадно)))
Леонид
Alviko, верно говорите) поэтому я убрала break. И во 2-ой строке выводится ошибка поэтому что не хватает [], а если их ставить, то выводится иная ошибка
Настя Породько
я не смотрел эту версию,здесь создатель есть)))
Василий
Разные компиляторы, тестировал на FreePascal 2.6.0
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
Облако тегов