Написать 2 программы:
5-9 класс
|
1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такого элемента, b-номер последнего. (использовать барьер)
2. Проверить, является ли массив целых чисел симметричным
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]<0 then begin
f:=i;
break;
end;
end;
if f>0 then begin
for i:=N downto 1 do begin
if ar[i]<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]<>ar[N-i+1] then begin otv:=true; break; end;
end;
if otv=true then write('No')
else write('Yes');end.
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 <= n) do
begin
flag := (a[i] >= 0);
i := i + 1
end;
if flag then Writeln('В массиве нет отрицательных элементов')
else begin
p := i - 1;
{2.1 Ищем последнее по порядку отрицательное }
i := n;
flag := true;
while flag and (i > p) do
begin
flag := (a[i] >= 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 <= 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
Массив является симметричным
Ну и терминология! Что за "барьер" такой?
Барьерный» алгоритм используется для поиска в неупорядоченном массиве. То есть в массиве мы ставим шаблон
В массиве находятся значения элементов. Как там можно что-то еще "ставить"?
Дурят детям головы околонаучными терминами... лучше юы алгоритмизацию за потраченное на эту чепуху время объясняли.
Полностью согласна) но ничего уж не поделаешь
Другие вопросы из категории
=3,14
ПООООМОГИТЕ! ПОЖАЛУЙСТА!!!
25 строк по 80 символов в строке. Определите объём текстовой
информации, занимающей весь экран монитора, в кодировке
блюдо,котлета,напиток,кисель,пельмени,кофе,борщ,обеденное меню.
Пожалуйста,очень срочно
Читайте также
Написал программу следующим образом:
1)Написать программу которая меняет местами числа a и b(линейная и оператор присваивания)
2)Программа проверки существования треугольника по его 3 сторонам
Напишите пожалуйста***
Составьте программу, которая формирует массив из 40 случайных целых чисел от 0 до 20 и вычисляет:
1). сумму чисел, не превышающих 10;
2). сумму чисел,кратных 3. Помогите пожалуйста,написать эту программу на PaskalABC.
На вход получает N - количество элементов последовательности чисел.
Затем следуют элементы последовательности.
Программа должна вывести все отрицательные элементы последовательности, чьи квадраты не превосходят 7000, в порядке, обратном порядку их ввода.
Например на вход идут:
4
-3
6
-7
-99
На выходе получаем:
-7
-3
Я предлагаю такое начало программы:
program num9;
const N = 5;
var a : array [1..N] of integer;
i, m : integer;
begin for i := 1 to N do
readln (a[i]);
m := a[i];
if (m < 0) and (m*m < 7000) then
Как следует поступить дальше?
Какими программами я люблю пользоваться.....
Например: Я люблю слушать музыку в проигрователе AIMP3.....
Надо буквально 5-6 предложений....И программ примерно 3-4.....
ПОМОГИТЕ.....Зарание БОЛЬШОЕ спасибо*)