Задать вопрос
15 августа, 07:13

Составить легкую программу!

Зеркально отразить последовательность в одномерном массиве.

Т. е. Задаем последовательность, вводим границы "зеркала" - х и у. И зеркально отражаем.

Пример: 12345678910

х=5

у=8

Вывод: 12348765910.

Очень буду блгодарна!

+1
Ответы (2)
  1. 15 августа, 07:27
    0
    var a: array [1 ... 10] of integer;

    i, x, y, xi, yi, t: integer;

    begin

    for i : = 1 to 10 do

    readln (a[i]) ;

    writeln ('X, Y') ;

    readln (X, Y) ;

    for i : = 0 to abs (round (0.5 * (x-y))) do

    begin

    t : = a[x+i];

    a[x+i] : = a[y-i];

    a[y-i] : = t;

    end;

    for i : = 1 to 10 do

    writeln ('[', i, '] = > ', a[i]) ;

    end.
  2. 15 августа, 11:07
    0
    Вот, пингвинчик: 3 Можно было и короче, переменных поменьше и циклов ... Но раз задача именно такая, то лучше не сокращать, а то могут оценку снизить)

    var a: array [1 ... 10] of integer;

    i, x, y, xi, yi, t: integer;

    begin

    for i : = 1 to 10 do

    readln (a[i]) ;

    writeln ('X, Y') ;

    readln (X, Y) ;

    for i : = 1 to 10 do

    begin

    if (a[i] = X) then xi : = i;

    if (a[i] = Y) then yi : = i;

    end;

    t : = a[xi];

    a[xi] : = a[yi];

    a[yi] : = t;

    for i : = 1 to 10 do

    writeln ('[', i, '] = > ', a[i]) ;

    end.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Составить легкую программу! Зеркально отразить последовательность в одномерном массиве. Т. е. Задаем последовательность, вводим границы ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы