В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Jeembo23
Jeembo23
01.05.2022 09:26 •  Информатика

Составить легкую программу! зеркально отразить последовательность в одномерном массиве. т.е. задаем последовательность, вводим границы "зеркала" - х и у. и зеркально отражаем. пример: 12345678910 х=5 у=8 вывод: 12348765910. буду блгодарна!

Ответ:
Diana15007
Diana15007
21.06.2020 12:44
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.
0,0(0 оценок)
Ответ:
IFender
IFender
21.06.2020 12:44
Вот, пингвинчик :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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?