Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2014, 15:39   #1
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Печаль Pascal ABC В трёхзначном числе x зачеркнули его вторую цифру. Когда к образованному при этом двузначному числу справа приписали...

В трёхзначном числе x зачеркнули его вторую цифру. Когда к образованному при этом двузначному числу справа приписали вторую цифру числа x, то получилось 456. Найти число x.

Большая просьба сделать на Pascal ABC.
maksim97maksim вне форума Ответить с цитированием
Старый 07.04.2014, 16:17   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Так устроит?
Код:
var x : integer;
begin
  x := 465;
  WriteLn(x);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.04.2014, 16:52   #3
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Счастье

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Так устроит?
Код:
var x : integer;
begin
  x := 465;
  WriteLn(x);
end.
не, ну это уж слишком легко) не такое оно )
maksim97maksim вне форума Ответить с цитированием
Старый 07.04.2014, 17:15   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
 
  for i:=1 to Length(S)-1 do
    for j:=i+1 to Length(S) do
      if S[i]<S[j] then
        begin
          ch := S[i];  S[i] := S[j];  S[j]:= ch
        end;

  WriteLn(465);
Уже лучше?
Poma][a вне форума Ответить с цитированием
Старый 07.04.2014, 17:25   #5
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Злость

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Код:
 
  for i:=1 to Length(S)-1 do
    for j:=i+1 to Length(S) do
      if S[i]<S[j] then
        begin
          ch := S[i];  S[i] := S[j];  S[j]:= ch
        end;

  WriteLn(465);
Уже лучше?
Ага, а вывод то WriteLn(465); всё равно такой же )
maksim97maksim вне форума Ответить с цитированием
Старый 07.04.2014, 17:30   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
всё равно такой же )
Ну так замени его на вывод переменной S
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.04.2014, 17:34   #7
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Как "зачеркнуть" 2-ю цифру трехзначного числа и получить 2-значное число?
Код:
Y:=(x div 100)*10+x mod 10;
Вот примерно так и решается задача.

Последний раз редактировалось ZX Spectrum-128; 07.04.2014 в 17:36.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 07.04.2014, 17:56   #8
maksim97maksim
Пользователь
 
Регистрация: 12.09.2013
Сообщений: 24
Сообщение

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Как "зачеркнуть" 2-ю цифру трехзначного числа и получить 2-значное число?
Код:
Y:=(x div 100)*10+x mod 10;
Вот примерно так и решается задача.
В том то и дело, что я не понимаю. Вот и прошу что бы написали полностью.(Просто срочно нужно.
maksim97maksim вне форума Ответить с цитированием
Старый 07.04.2014, 18:15   #9
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
For i:=100 to 999 do
  Begin
      Y:=(i div 100)*10+i mod 10; // двузначное число
      Y:=(y div 10)*100+(y mod 10)*10+(i mod 10) div 10; // приписали
      If i=456 then
         Begin
            Writeln('Искомое число = ',y);
             Break;
         End;
  End;
Не ржать! У меня была такая ситуация. Девочка сдала только с третьего раза и именно в таком виде.
Если это тот же вуз и тот же препод, то ну его.
Лучше перебздеть, чем недобздеть.

Кстати, это был второй вариант. Break преподу тоже не подошел.

Последний раз редактировалось ZX Spectrum-128; 07.04.2014 в 18:27.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 07.04.2014, 19:56   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не, ну это не серьёзно!
Зачем перебор там, где он НЕ НУЖЕН!

Вы же начали решать нормально...
Код:
var x : integer;
begin
  WriteLn('Введите полученное 3-х значное число: ');
  Readln(x);
  
  x := (x div 100)*100 + (x mod 10)*10 + ((x div 10) mod 10);
  WriteLn('Исходное число было:', x);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с числами в C#. 3 задачи (1)трехзначное число. В нем зачеркнули первую слева и приписали ее справа; 2) найти чётные) ( C# ) umxo C# (си шарп) 3 09.11.2012 12:22
Паскаль - пишет при вводе 0 - Ошибка:вещественное деление на нуль и когда ввожу цифру -0.1 MoLoDoI Паскаль, Turbo Pascal, PascalABC.NET 4 03.02.2012 14:49
Процедура добавления к исходному числу введённого справа (Pascal) Volk_xD Помощь студентам 4 29.05.2011 16:24
найти вторую цифру в целом положительном числе Dane4ka Помощь студентам 6 13.04.2011 20:33
Pascal - Задано число n неизвестной разрядности. Вычислить сколько цифр в этом числе Виолетта Помощь студентам 2 18.03.2009 07:17