Предмет: Информатика,
автор: Shiteru
Составить легкую программу!
Зеркально отразить последовательность в одномерном массиве.
Т.е. Задаем последовательность, вводим границы "зеркала" - х и у. И зеркально отражаем.
Пример:12345678910
х=5
у=8
Вывод:12348765910.
Очень буду блгодарна!
Ответы
Автор ответа:
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.
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
http://i60.fastpic.ru/big/2013/1024/54/75e115e7ac46dabd74b793244def4754.png А?
Автор ответа:
0
а вариант a=(4,5,8,15,2,6,7) ; x=3; y=6 ?
Автор ответа:
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.
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
var a: array [1..10] of integer;
i, x, y, t: integer;
begin
randomize;
for i := 1 to 10 do
a[i] := random(99);
write('X, Y = ');
read(X, Y);
writeln;
for i := 1 to 10 do
write(i:3);
writeln;
for i := 1 to 10 do
write(a[i]:3);
i, x, y, t: integer;
begin
randomize;
for i := 1 to 10 do
a[i] := random(99);
write('X, Y = ');
read(X, Y);
writeln;
for i := 1 to 10 do
write(i:3);
writeln;
for i := 1 to 10 do
write(a[i]:3);
Автор ответа:
0
for i := 0 to abs(x-y+1) div 2 do begin
t := a[x+i];
a[x+i] := a[y-i];
a[y-i] := t;
end;
writeln;
for i := 1 to 10 do
write(a[i]:3);
end.
t := a[x+i];
a[x+i] := a[y-i];
a[y-i] := t;
end;
writeln;
for i := 1 to 10 do
write(a[i]:3);
end.
Похожие вопросы
Предмет: Русский язык,
автор: Hulcksmashers
Предмет: Физика,
автор: antonlysenkov06
Предмет: Математика,
автор: natasakudelkina513
Предмет: География,
автор: Анастасия1410
Предмет: Биология,
автор: kosner