IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Простая задачка!ПОМОГИТЕ СРОЧНО!
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алекс

Репутация: -  0  +



Дано натуральное число. Приписать к нему такое же. Но чтобы можно было с этой цифрой потом операции выполнять!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской
Реальное имя: Andriy

Репутация: -  0  +


Я правильно понял - напр., если дано число 23, то на выходе получаем 2323?

Если да, то так:
program ValStr;
uses Crt;
var A:longint;
i:integer;
S:string;
begin
ClrScr;
write('Enter the number: '); readLn(A); {Читаем число}
str(A,S); {Переводим числовую переменную в строковую}
S:=S+S; {Дописываем нужные цифры}
val(S,A,i); {Переводим из строковой переменной в числовую}
writeLn('New number: ', A); {Выводим измененное число}
Repeat until KeyPressed
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Можно попроще, мне кажется..
Типа вот так:
var
n,m: LongInt;

begin
n:=1234;
m:=10;
while n div m>0 do m:=m*10;
n:=n*m+n;
WriteLn(n)
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской
Реальное имя: Andriy

Репутация: -  0  +


Ну да, конечно, немного проще, как-то и не подумал - написал наиболее очевидный (для меня) вариант wink.gif
Хотя, мой вариант тоже можно упростить smile.gif blum.gif
var A:longint;
i:integer;
S:string;
begin
A:=1234;
str(A,S);
val(S+S,A,i);
writeLn('New number: ', A);
end.


Сообщение отредактировано: Vinchkovsky -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Vinchkovsky @ 19.10.2008 18:10) *
Хотя, мой вариант тоже можно упростить

Ты его не только упростил, но и улучшил smile.gif. Последняя строчка в первом варианте просто вредная - ты оставляешь символ в буфере.
Но простота моего решения не в количестве строчек. Оно годится практически без переделок для любой системы счисления. И оно проще в смысле внутреннего представления: меньше код, меньше памяти нужно, быстрее выполнение.

М
Приношу всем извинения, что не заметил сразу.
bestlover, прошу тебя соблюдать Правила Форума (п.4)



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской
Реальное имя: Andriy

Репутация: -  0  +


Цитата
Последняя строчка в первом варианте просто вредная - ты оставляешь символ в буфере.

А как этого избежать? Ранее пользовалься readLn всегда, но от преподавателя узнал о конструкции repeat until Keypressed, по-настоящему стал ценить ее при создании игр (Press any key... вместо Рress ENTER...), удобнее как-то выходить по нажатию любой клавиши.
Цитата
Но простота моего решения не в количестве строчек. Оно годится практически без переделок для любой системы счисления. И оно проще в смысле внутреннего представления: меньше код, меньше памяти нужно, быстрее выполнение.

Понимаю, "упрощение" делал не очень-то всерьез wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Vinchkovsky @ 19.10.2008 18:41) *

А как этого избежать?

после того цикла вставь еще такой:
while KeyPressed do ReadKey;



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алекс

Репутация: -  0  +


Спасибо! Большое! За помощь! Вы мне очень помогли! good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.10.2020 11:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name