Задать вопрос
7 сентября, 21:36

Написать 2 программы:

1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такого элемента, b-номер последнего. (использовать барьер)

2. Проверить, является ли массив целых чисел симметричным

+1
Ответы (2)
  1. 7 сентября, 22:26
    0
    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

    Массив является симметричным
  2. 8 сентября, 00:10
    0
    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.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Написать 2 программы: 1. Проверить, есть ли в массиве отрицательные элементы. Если есть, вывести а-номер первого такого элемента, b-номер ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сформировать массив А из 30 случайных целых чисел в диапазоне от-30 да 50. Сформировать массивы С, В которые содержат: массив В - четные элементы из массива А в порядке их следования в массиве А, массив С - отрицательные элементы массива А в
Ответы (1)
Напишите решение задачи через паскаль. 1. Массив из 10 целых чисел из промежутка [10,20] задается с помощью гениратора случайных чисел. Вывести полученный массив в строку. Затем увеличить каждый элемент на 5.
Ответы (1)
1. Массив и 4 целых чисел вводится с клавиатуры. Найти и вывести произведение элементов массива. 2. Массив из 6 отрицательных и положительных целых чисел вводится в области описания констант. Найти сумму положительных элементов массива. 3.
Ответы (1)
H. Работа с несколькими массивами Дан массив a, состоящий из n целых чисел. Ваша задача - переписать его элементы в другой массив такого же размера следующим образом: сначала должны идти все отрицательные элементы, а затем все остальные.
Ответы (1)
Во имя радостных мессий, помогите хоть одну задачку. Не шарю ( Дан массив из 15 элементов. Необходимо заполнить его с помощью оператора присваивания (случайными числами), вывести все элементы в строку, а затем вывести произведение всех элементов
Ответы (1)