
Malarn
6 год назад
Поменять местами ячейки. пример а = 3,b = 5 = >a = 5,b = 3.паскаль
ОТВЕТЫ

Solakaz
Aug 7, 2019
1.
var a,b,c:integer;
begin
a:=3; b:=5;
writeln(a = ,a, b = ,b);
c:=a;
a:=b;
b:=c;
writeln(a = ,a, b = ,b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3
2.
var a,b:integer;
begin
a:=3; b:=5;
writeln(a = ,a, b = ,b);
a:=a+b;
b:=a-b;
a:=a-b;
writeln(a = ,a, b = ,b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3
var a,b,c:integer;
begin
a:=3; b:=5;
writeln(a = ,a, b = ,b);
c:=a;
a:=b;
b:=c;
writeln(a = ,a, b = ,b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3
2.
var a,b:integer;
begin
a:=3; b:=5;
writeln(a = ,a, b = ,b);
a:=a+b;
b:=a-b;
a:=a-b;
writeln(a = ,a, b = ,b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3
Существуют различные алгоритмы обмена значениями между двумя ячейками a и b.
1. Самый простой - с использованием промежуточной ячейки
var
a,b,t:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
t:=a; a:=b; b:=t; Writeln(a, ,b)
end.
2. Обмен без использования дополнительной памяти при помощи сложения и вычитания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
b:=a+b; a:=b-a; b:=b-a; Writeln(a, ,b)
end.
3. Обмен без использования дополнительной памяти при помощи логической операции "исключающее ИЛИ"
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
a:=a xor b; b:=a xor b; a:=a xor b; Writeln(a, ,b)
end.
Язык PascalABC.NET дополнительно предлагает простые способы обмена.
4. Обмен при помощи процедуры Swap
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
Swap(a,b); Writeln(a, ,b)
end.
5. Обмен на основе кортежного присваивания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
(a,b):=(b,a); Writeln(a, ,b)
end.
1. Самый простой - с использованием промежуточной ячейки
var
a,b,t:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
t:=a; a:=b; b:=t; Writeln(a, ,b)
end.
2. Обмен без использования дополнительной памяти при помощи сложения и вычитания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
b:=a+b; a:=b-a; b:=b-a; Writeln(a, ,b)
end.
3. Обмен без использования дополнительной памяти при помощи логической операции "исключающее ИЛИ"
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
a:=a xor b; b:=a xor b; a:=a xor b; Writeln(a, ,b)
end.
Язык PascalABC.NET дополнительно предлагает простые способы обмена.
4. Обмен при помощи процедуры Swap
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
Swap(a,b); Writeln(a, ,b)
end.
5. Обмен на основе кортежного присваивания
var
a,b:integer;
begin
a:=10; b:=20; Writeln(a, ,b);
(a,b):=(b,a); Writeln(a, ,b)
end.
246
Смежные вопросы: