Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Поменять первую и последнюю цифру в числе 
V
    Опции темы
VASILISKA
Дата 1.3.2007, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 26.2.2007

Репутация: -2
Всего: нет



Задано число N. В нем поменять первую и последнюю цифру местами


 ! 
Kuvaldis

Давай писать общепринятыми строчными буквами... 


Это сообщение отредактировал(а) Kuvaldis - 1.3.2007, 13:48
PM MAIL   Вверх
Kuvaldis
Дата 1.3.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

Репутация: 32
Всего: 61



Код

program Project1;

{$APPTYPE CONSOLE}

var
  num : integer;
  last, first : integer;   
  base : integer;

begin
  writeln('Input number');
  readln(num);
  if (num < 0) then num := -num;   // получить число по модулю

  if (num <> 0) then
  begin
      last := num  mod 10;         // получаем младшую цифру
      first := num;
      base := 1;

      while (first > 9) do        // до первой цифры числа
      begin
          first := first div 10;
          base := base * 10;      // считаем степень разрядов
      end;

      num := num + base * (last - first) + (first - last);
      { пояснение: 123 = 123 + (3 - 1) * 100 + (1 - 3) = 321 }
  end;

  writeln('New number = ', num);
  readln;   
end.


Это сообщение отредактировал(а) Kuvaldis - 1.3.2007, 13:09


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
FireSnake
Дата 1.3.2007, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 15.9.2006
Где: Украина, Донецк

Репутация: нет
Всего: 1



Код

program ChangeNumber;
var s:string;
    ch:char;
begin
     readln(s);
     ch:=s[1];
     s[1]:=s[length(s)];
     s[Length(s)]:=ch;
     writeln(s);
end.

По-мойму мой код несколько короче;)

Это сообщение отредактировал(а) FireSnake - 1.3.2007, 13:40
PM MAIL ICQ   Вверх
volvo877
Дата 1.3.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 34
Всего: 116



Цитата(FireSnake @  1.3.2007,  12:39 Найти цитируемый пост)
По-мойму мой код несколько короче;)

Да, но он не соответствует условию:

Цитата(VASILISKA @  1.3.2007,  11:34 Найти цитируемый пост)
ЗАДАНО ЧИСЛО
, а работать с числами посредством ввода их в виде строки или перевода в строку - не то, что ждет преподаватель, не так ли?

PM MAIL   Вверх
Kuvaldis
Дата 1.3.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

Репутация: 32
Всего: 61



FireSnake
Цитата

По-мойму мой код несколько короче;)

Автор, к сожалению, не сказал о способе хранения его числа.


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
FireSnake
Дата 1.3.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 15.9.2006
Где: Украина, Донецк

Репутация: нет
Всего: 1



Автор вообще не потрудился изъяснить задачу более конкретно...  А в принципе можно использовать процедуру str(что переводить, куда переводить). И вышло б тоже самое. А так мое решение удовлетворяет поставленному условию.

Это сообщение отредактировал(а) FireSnake - 1.3.2007, 13:59
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.