Ввести натуральное число, поменять в нем все цифры ** следующую, а цифру 9 ** 0....

0 голосов
104 просмотров

Ввести натуральное число, поменять в нем все цифры на следующую, а цифру 9 на 0. PascalABC
ввод 193
вывод 204


Информатика (44 баллов) | 104 просмотров
0

var n: integer; m: array[1..99] of integer;begin read(n); if n div 100 <> 9 then m[1] := n div 100 + 1 else m[1] := 0; if (n mod 100) div 10 <> 9 then m[2] := (n mod 100) div 10 + 1 else m[2] := 0; if n mod 10 <> 9 then m[3] := n mod 10 + 1 else m[3] := 0; write(m[1], m[2], m[3]);end.

0

var n: Int64; s: string; m: array[1..99] of string; p: array[1..99] of integer;begin read(n); s := IntToStr(n); for var i := 1 to s.Length do begin m[i] := s[i]; end; for var i := 1 to s.Length do begin if StrToInt(m[i]) <> 9 then p[i] := StrToInt(m[i]) + 1 else p[i] := 0; write(p[i]); end;end.

0

второй вариант правильный

0

зачем столько массивов? можно же просто обойтись числом n и строкой? да даже просто одной строкой

0

var m: string;begin read(m); for var i := 1 to m.Length do if m[i] <> '9' then write(Succ(m[i])) else write('0');end.

0

третий вариант првильный)

Дано ответов: 2
0 голосов
Правильный ответ
var m: string;
      p: array[1..99] of integer;
begin read(m);
   for var i := 1 to m.Length do begin
         if m[i] <> '9' then
              write(Succ(m[i]))
         else
              write('0');
   end;
end.
(609 баллов)
0

Даже короче вашей)

0

Надеюсь все это пригодиться на ЕГЭ

0

Хотя сомневаюсь

0

Да, спасибо

0 голосов
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger;
  var St:=new Stack;
  while n>0 do begin
    St.Push((n+1) mod 10);
    n:=n div 10
    end;
  St.Println('')
end.

Примеры
193
204

1234567890
2345678901
(150k баллов)
0

Вряд ли в 5-9 классах проходят нечто похожее, но все равно круто

0

Ок