Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
dark-bull
1 / 1 / 0
Регистрация: 14.03.2010
Сообщений: 26
1

Напечатать число, получаемое при прочтении его цифр справа налево

18.03.2010, 11:25. Просмотров 1399. Ответов 6
Метки нет (Все метки)

Дано натуральное число.
а) Напечатать число, получаемое при прочтении его цифр справа налево.
б) Приписать по двойке в начало и конец записи этого числа.
в) Удалить из него все цифры 5.
г) Переставить его первую и последние цифры.
д) Приписать к нему такое же число
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2010, 11:25
Ответы с готовыми решениями:

Дано натуральное число. Найти число, получаемое при прочтении его цифр справа налево
помогите с паскалем. Дано натуральное число. Найти число, получаемое при прочтении его цифр...

Является ли последовательность цифр числа при просмотре их справа налево упорядоченной по возрастанию
Используя цикл с постусловием repeat решить задачу: Дано натуральное число. Установить, является...

Является ли число одинаково читающимся как справа налево, так и наоборот?
Установить, является ли заданное натуральное число n палиндромом (одинаково читается как слева...

Написать программу, которая будет составлять число, которое читается одинаково как слева направо, так и справа налево
Текст задачи: "На вход программе подается набор символов, заканчивающийся символом 0 (в программе...

Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа
Напишите код :gcray: Определить число, получаемое выписыванием в обратном порядке цифр заданного...

6
koorya
333 / 180 / 68
Регистрация: 18.03.2010
Сообщений: 579
Записей в блоге: 11
18.03.2010, 12:13 2
каждая операция делается для этого числа по отдельности, то есть число взяли, сотворили что-то, вывели на моник, потом снова взяли исходное число проделали другое действие, вывели.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uses crt;
var
    s:string;
  i,j,h:integer;
begin
  clrscr;
  readln(h);
  
  str(h,s);
  for i:=length(s) downto 1 do
      write(s[i]);
  writeln;
 
  str(h,s);
  s:='2'+s+'2';
  writeln(s);
 
  str(h,s);
  for i:=1 to length(s) do
      if s[i]='5' then delete(s,i,1);
  writeln(s);
 
  str(h,s);
  s:=copy(s,length(s),1)+copy(s,2,length(s)-2)+copy(s,1,1);
    writeln(s);
 
  str(h,s);
  s:=s+s;
  writeln(s);
  readkey;
end.
возможно еще использование функции VAL(s:string,i:integer,j:integer); , где s строка с числом, i - что будет содержать число из строки, j - для ошибки если она есть,
0
Puporev
Модератор
56327 / 43111 / 29821
Регистрация: 18.05.2008
Сообщений: 102,451
18.03.2010, 12:15 3
koorya, Так это наверное без строк нужно делать.
0
Moonlight Inc.
18 / 18 / 9
Регистрация: 07.10.2008
Сообщений: 89
18.03.2010, 12:56 4
Puporev, +1

юзайте mod,div
0
koorya
333 / 180 / 68
Регистрация: 18.03.2010
Сообщений: 579
Записей в блоге: 11
18.03.2010, 15:18 5
Puporev просто и назад ведь можно запросто перевести в интежер, или нужна сложность задачи?
0
Puporev
Модератор
56327 / 43111 / 29821
Регистрация: 18.05.2008
Сообщений: 102,451
18.03.2010, 15:42 6
koorya, Это не мне нужно, просто по опыту знаю, что преподаватели требуют работать с числами типа Longint, с использованием циклов. Понятно что в практике это никому не нужно, но их же мучают, что бы думать научились алгоритмически, а такие задачки к этому располагают. Проще конечно быть программистом-кнопочником в Делфи, где за тебя все написано, только помнить нужно на какую кнопку нажать какую функцию вызвать.
0
koorya
333 / 180 / 68
Регистрация: 18.03.2010
Сообщений: 579
Записей в блоге: 11
18.03.2010, 17:19 7
Puporev, ну тогда я решения не знаю, наверное. эх, преподы, преподы...


хотя вообще-то наверное даже знаю, mod и div мне в помощь

Добавлено через 20 минут
а)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
var
   s:array[1..100] of integer;
    a,i,j,b:integer;
begin
    clrscr;
  readln(a);
  b:=a;
  j:=0;
 
  while b<>0 do
    begin
         j:=j+1;
         s[j]:=b mod 10;
         b:=b div 10;
    end;
    for i:=1 to j do
        write(s[i]);
    writeln;
 
 
    readln;
end.
раз заставляют трудные делать, добиваются, чтоб поняли алгоритмы эти все, что тогда спрашивают тут, их ведь учат...

Добавлено через 21 минуту
таак, а дополнять прошлый пост, видимо уже нельзя...
б)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
uses crt;
var
   s,s1:array[1..100] of integer;
    a,i,j,b:integer;
begin
    clrscr;
  readln(a);
  b:=a;
  j:=0;
 
  while b<>0 do
    begin
         j:=j+1;
         s[j]:=b mod 10;
         b:=b div 10;
    end;
 
    for i:=j downto 1 do
        s[i+1]:=s[i];
    s[1]:=2;
    s[j+2]:=2;
    for i:=j+2 downto 1 do
        write(s[i]);
    writeln;
    for i:=1 to j+1 do //возвращаем на место массив цифр этого числа, мало ли, вдруг пригодицо
       s[i]:=s[i+1];
    for i:=j downto 1 do
        write(s[i]);
    writeln;
 
    readln;
end.
если придецо писать еще один пост по мере появления решений, то я не виноват, и за раз все думать долго не охото и не удобно


хахаха, удобно сделано

Добавлено через 27 минут
в)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
var
   s,s1:array[1..100] of integer;
    a,i,j,b,n:integer;
begin
    clrscr;
  readln(a);
  b:=a;
  j:=0;
 
  while b<>0 do
    begin
         j:=j+1;
         s[j]:=b mod 10;
         b:=b div 10;
    end;
 
 
    n:=0;
    for i:=1 to j do
        begin
             if s[i]<>5 then
                s1[i-n]:=s[i]
             else
                 begin
                      n:=n+1;
                 end;
        end;
    for i:=j-n downto 1 do
        write(s1[i]);
    writeln;
 
    readln;
end.
Добавлено через 4 минуты
г)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses crt;
var
   s,s1:array[1..100] of integer;
    a,i,j,b,n:integer;
begin
    clrscr;
  readln(a);
  b:=a;
  j:=0;
 
  while b<>0 do
    begin
         j:=j+1;
         s[j]:=b mod 10;
         b:=b div 10;
    end;
 
    n:=s[1];
    s[1]:=s[j];
    s[j]:=n;
 
    for i:=j downto 1 do
        write(s[i]);
    writeln;
 
    readln;
end.
Добавлено через 3 минуты
д)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
var
   s,s1:array[1..100] of integer;
    a,i,j,b,n:integer;
begin
    clrscr;
  readln(a);
  b:=a;
  j:=0;
 
  while b<>0 do
    begin
         j:=j+1;
         s[j]:=b mod 10;
         b:=b div 10;
    end;
 
    for i:=j downto 1 do
        s[i+j]:=s[i];
 
    for i:=j*2 downto 1 do
        write(s[i]);
    writeln;
 
    readln;
end.
Ура! Ура! Ура!
0
18.03.2010, 17:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2010, 17:19

Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа.
Задача простая для профессионалов но я не могу ее решить)) Определить число, получаемое...

Найти число, полученное при прочтении цифр заданного справа налево
1. Составить алгоритм линейной структуры. 2. Составить алгоритм разветвляющейся структуры. ...

Найти число, полученное при прочтении числа N справа налево
Дано целое натуральное число N(&gt;0). Используя операции деления нацело и взятие остатка от деления,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru