Другие языки программирования и технологии
информатика паскаль.
вводится с клавиатуры число на экран должно выводиться число наоборот то-есть если я ввожу 1234 то должно выйти 4321 как это сделать?
Доброго времени суток.
Вариантов решения масса. Если нужно только вывести в обратном порядке, то IIyCTou уже сказал как. Но можно еще проще, без второй переменной.
var
s : String;
i : Integer;
begin
ReadLn(s);
for i:=Length(s) downto 1 do Write(s[ i ]);
WriteLn;
readln;
end.
А еще можно выделять цифры числа с помощью операторов mod и div и формировать новое число. Все зависит от поставленной задачи. К сожалению, из того, что вы сказали, это не ясно. Поэтому простое лобовое решение - вывод строковой переменной от последнего до первого символа.
Удачи!
Вариантов решения масса. Если нужно только вывести в обратном порядке, то IIyCTou уже сказал как. Но можно еще проще, без второй переменной.
var
s : String;
i : Integer;
begin
ReadLn(s);
for i:=Length(s) downto 1 do Write(s[ i ]);
WriteLn;
readln;
end.
А еще можно выделять цифры числа с помощью операторов mod и div и формировать новое число. Все зависит от поставленной задачи. К сожалению, из того, что вы сказали, это не ясно. Поэтому простое лобовое решение - вывод строковой переменной от последнего до первого символа.
Удачи!
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key='1' then Key := '4';
end;
//это пример на дельфи для размышления упрощенно - нажимаешь 1 вводит 4
begin
if Key='1' then Key := '4';
end;
//это пример на дельфи для размышления упрощенно - нажимаешь 1 вводит 4
Вот две готовые проги, которые переворачивает строку / число.
Здесь работа с текстом:
Program Mine;
uses crt;
var S:string;
function MirrorStr(Str:string):string;
var i:integer;
buf:string;
begin
buf:='';
if Str<>'' then
For i:=length(Str) downto 1 do
buf:=buf+Str;
MirrorStr:=buf;
end;
begin
clrscr;
write( ' Vvedite stroku -> ');
readln(S);
writeln(' Zerkal`no -> ',MirrorStr(S));
readkey;
end.
А здесь работа с числами:
Program Mine;
uses crt;
var n,a,x,s,k:longint;
begin
clrscr;
writeln (' Vvedite luboe naturalnoe chislo');
readln (n);
a:=n;
x:=0;
while a>=10 do
begin
a:=a div 10;
x:=x+1;
end;
while x>=0 do
begin
K:=(n mod 10)*round(exp(x*ln(10)));
S:=S+K;
n:=n div 10;
x:=x-1;
end;
writeln (S);
readln
end.
Надеюсь, мои проги хоть чем-то помогли!
Удачи!
Здесь работа с текстом:
Program Mine;
uses crt;
var S:string;
function MirrorStr(Str:string):string;
var i:integer;
buf:string;
begin
buf:='';
if Str<>'' then
For i:=length(Str) downto 1 do
buf:=buf+Str;
MirrorStr:=buf;
end;
begin
clrscr;
write( ' Vvedite stroku -> ');
readln(S);
writeln(' Zerkal`no -> ',MirrorStr(S));
readkey;
end.
А здесь работа с числами:
Program Mine;
uses crt;
var n,a,x,s,k:longint;
begin
clrscr;
writeln (' Vvedite luboe naturalnoe chislo');
readln (n);
a:=n;
x:=0;
while a>=10 do
begin
a:=a div 10;
x:=x+1;
end;
while x>=0 do
begin
K:=(n mod 10)*round(exp(x*ln(10)));
S:=S+K;
n:=n div 10;
x:=x-1;
end;
writeln (S);
readln
end.
Надеюсь, мои проги хоть чем-то помогли!
Удачи!
Самый простой вариант
var
s,z:string;
i:integer;
begin
readln(s);
z:='';
for i:=1 to length(s) do
z:=s [ i ]+z;
write(z);
readln;
var
s,z:string;
i:integer;
begin
readln(s);
z:='';
for i:=1 to length(s) do
z:=s [ i ]+z;
write(z);
readln;
полистай информатику 10 класса ...месяц назад эта тема была, лень конспект перерывать
надо такую программу написать
Похожие вопросы
- Задачи по информатике паскаль
- Помогите пожалуйста найти ошибку в решении задачи по информатике(паскаль) !!!Прошу очень нужно!!!задача простая!!!
- Помогите решить задачу по информатике ...паскаль
- Помогите срочно!!! По информатике Паскаль!!!
- Информатика. Паскаль. Объясните, как решать (БЕЗ МАССИВОВ)
- Помогите пожалуйста решить информатику, Паскаль.
- Информатика, Паскаль .
- ПОМОГИТЕ ОЧЕНЬ СРОЧНО!! ИНФОРМАТИКА!!!ПАСКАЛЬ
- Помогите, пожалуйста... Курс информатики, 9 класс. В паскале вообще ничего не понимаю((
- Помощь по информатике. 9 класс. Программирование .Язык Паскаль. Ветвление