Дано целое N - разрядное число. Поменять местами первую цифру с последней в записи числа. (Задача)
Написать нужно прогу на паскале, чтоб можно было менять местами цифры и отрицательные и положительные.
Другие языки программирования и технологии
Помогите написать прогу на паскале
надо где то скобки [ ]
Если нет обязательного требования использовать операции целочисленного деления и получения остатка, то проще всего сделать преобразовав число в строку.
Затем анализируем первый символ. Если он "-", то меняем местами S[2] с S[Length(S)]. Если нет, то вместо S[2] берем S[1]. После всего этого преобразовываем строку обратно в число.
Если надо циклами :), то так
....
Readln(n);
Negative := n < 0;
n := Abs(n);
....
n:=s1*i + s2 + s*10;
if Negative then n := -n;
....
Negative - переменная логического типа.
Затем анализируем первый символ. Если он "-", то меняем местами S[2] с S[Length(S)]. Если нет, то вместо S[2] берем S[1]. После всего этого преобразовываем строку обратно в число.
Если надо циклами :), то так
....
Readln(n);
Negative := n < 0;
n := Abs(n);
....
n:=s1*i + s2 + s*10;
if Negative then n := -n;
....
Negative - переменная логического типа.
Александр Рябов
Строчный вариант не подходит, нужен цикл!
Нужен скотч
Нужен справочник
function switchFirstWithLast(n) {
if(typeof n !== 'number' || Number.isNaN(n)) return 'Give me a number';
var s = n.toString();
if(s.length === 1) return Number(s);
var last = s.slice(-1),
first = s.slice(0, 1),
middle = s.slice(1, s.length - 1);
return Number(last + middle + first);
}
switchFirstWithLast(3465); // 5463
if(typeof n !== 'number' || Number.isNaN(n)) return 'Give me a number';
var s = n.toString();
if(s.length === 1) return Number(s);
var last = s.slice(-1),
first = s.slice(0, 1),
middle = s.slice(1, s.length - 1);
return Number(last + middle + first);
}
switchFirstWithLast(3465); // 5463
program prg;
function ChangeDigits(a: integer): integer;
var t, r, dgs: integer;
neg: boolean;
begin
if a < 0 then begin neg := true; a := -a; end // убираем знак
else neg := false;
t := 0;
dgs := 1; // разряды числа
r := a;
while true do begin // делим до первой цифры
r := r div 10;
if r = 0 then break;
t := r mod 10; // будет последней цифрой
dgs := dgs * 10;
end;
// переписываем все цифры, кроме последней
r := (a mod 10) * dgs; // старшая цифра нового числа
dgs := dgs div 10;
while dgs > 1 do begin
r := r + ((a div dgs) mod 10) * dgs;
dgs := dgs div 10;
end;
r := r + t; // последнюю цифру
if neg then r := -r; // возвращаем знак
ChangeDigits := r;
end;
var a, b: integer;
begin
readln(a);
b := ChangeDigits(a);
writeln(b);
end.

function ChangeDigits(a: integer): integer;
var t, r, dgs: integer;
neg: boolean;
begin
if a < 0 then begin neg := true; a := -a; end // убираем знак
else neg := false;
t := 0;
dgs := 1; // разряды числа
r := a;
while true do begin // делим до первой цифры
r := r div 10;
if r = 0 then break;
t := r mod 10; // будет последней цифрой
dgs := dgs * 10;
end;
// переписываем все цифры, кроме последней
r := (a mod 10) * dgs; // старшая цифра нового числа
dgs := dgs div 10;
while dgs > 1 do begin
r := r + ((a div dgs) mod 10) * dgs;
dgs := dgs div 10;
end;
r := r + t; // последнюю цифру
if neg then r := -r; // возвращаем знак
ChangeDigits := r;
end;
var a, b: integer;
begin
readln(a);
b := ChangeDigits(a);
writeln(b);
end.

Мю Мю
Как вариант, можно и в вашем коде лишь дописать код, убирающий знак, и всё, что далее выполнить для положительного числа.
program Change;
var s1, s2, s, k, n, i: Integer;
begin
Readln(n);
if n<0 then begin write('-'); n:=-n end;
If n<=9 then writeln(n)
Else begin
k:=n;
i:=1;
while k<>0 do begin
k:=k div 10;
i:=i*10;
end;
i:=i div 10;
s2:= n div i;
s1:= n mod 10;
s:= (n mod i) div 10;
n:=s1*i + s2 + s*10;
If s1=0 then writeln('0',n) else writeln(n)
End;
end.
program Change;
var s1, s2, s, k, n, i: Integer;
begin
Readln(n);
if n<0 then begin write('-'); n:=-n end;
If n<=9 then writeln(n)
Else begin
k:=n;
i:=1;
while k<>0 do begin
k:=k div 10;
i:=i*10;
end;
i:=i div 10;
s2:= n div i;
s1:= n mod 10;
s:= (n mod i) div 10;
n:=s1*i + s2 + s*10;
If s1=0 then writeln('0',n) else writeln(n)
End;
end.
паскаль устарелый язык
Виталий Лысуенко
Почему устарелый? ты что новый язык создал?
спроси у хакера
Если работает только для положительных чисел, тогда и используй только положительные числа. abs() - модуль числа. В конце проверяй число > 0 или < 0 Если меньше умножай на -1 и выводи
изи же пишешь так
function switchFirstWithLast(n) {
if(typeof n !== 'number' || Number.isNaN(n)) return 'Give me a number';
var s = n.toString();
if(s.length === 1) return Number(s);
var last = s.slice(-1),
first = s.slice(0, 1),
middle = s.slice(1, s.length - 1);
return Number(last + middle + first);
}
switchFirstWithLast(3465); // 5463
function switchFirstWithLast(n) {
if(typeof n !== 'number' || Number.isNaN(n)) return 'Give me a number';
var s = n.toString();
if(s.length === 1) return Number(s);
var last = s.slice(-1),
first = s.slice(0, 1),
middle = s.slice(1, s.length - 1);
return Number(last + middle + first);
}
switchFirstWithLast(3465); // 5463
Нужно написать программу на паскале вот про что: найти в каждой строке матрицы максимальные и минимальные элементы и поместить их на место первого и последнего элемента строки соответсвтенно. Матрицу напечатать в общепринятом виде. N=20, M=10.
Т. к в паскале не селён прошу вашей помощи, простые задачи ещё сам могу написать, а эту не как не получается.
__________________
Т. к в паскале не селён прошу вашей помощи, простые задачи ещё сам могу написать, а эту не как не получается.
__________________
Да как нибуть
program Chanche;
var d1, d2, d3, d4, n, n2: integer;
begin
writeln (' Введите двузначное число ');
readln (n);
d1:=n mod 10;
d2:=n-d1;
d3:=d2 div 10;
d4:=d1*10;
n2:=d3+d4;
writeln (n2);
end.
var d1, d2, d3, d4, n, n2: integer;
begin
writeln (' Введите двузначное число ');
readln (n);
d1:=n mod 10;
d2:=n-d1;
d3:=d2 div 10;
d4:=d1*10;
n2:=d3+d4;
writeln (n2);
end.
Спроси у сообщество или форумах
Похожие вопросы
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!
- люди помогите написать прогу в паскале чтоб она запрашивала число и потом писала простое оно или нет, всю голову сломал
- помогите написать прогу в паскале срочно!!
- помогите написать прогу в паскале:)
- Помогите написать ПРОГУ ПО ПАСКАЛЮ!!!
- СРОЧНО ! Напишите прогу на Паскале
- напишите проги в ПАСКАЛЕ плиз!!!очень надо.
- помогите составить прогу в паскале