Помощь - Поиск - Пользователи - Календарь
Полная версия: Алгоритмы с комбинацией циклов и условных оператор
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
GORBUNKI
Помогите решить 1 задачу:
1.Дано натуральное число. Приписать к нему такое же.
Заранее Спасибо
APAL
Что значит "приписать"?
fms
так что ли?! :D
s:=s*10+s;
GORBUNKI
Цитата
так что ли?! 
s:=s*10+s;

Нет стопудово не так.Объесняю дано число Например 3214 и надо получить на экране 321432141
Darkwolf
Может чёнибутьи на пёшу если время будет.
Один вопрос откуда последняя еденица
SKVOZNJAK
Если только на экране, то при помощи модуля CRT вписывай любые числа в любое место экрана :D А потом попробуй убедить препода, что это не издевательство ;)
Другой способ: ращепи числа на символы(в разделе это было), загони в строковую переменную(или массив) и выводи на экран.
sandman
Это делается через str. Вводим число, переводим его в string, а дальше все вроде понятно smile.gif
Altair
Цитата
Это делается через str. Вводим число, переводим его в string, а дальше все вроде понятно 

Для тех, кто не понял:
Код

Program _123_123123;
var
a:integer;
s,s1:string;

begin
Write('введите число: '); Readln(a);
str(a,s);
str(a,s1);
s:=s+s1;
Writeln('Число и приписанное к нему точно такое:');
Writeln(s)
end.

А вот так не сдаст он эту работу, если в задание сказанно, что использовать надо циклы и условные операторы!
(хотя можно - переписать процедуру STR)
fms
Цитата(GORBUNKI @ 14.04.04 11:51)
Нет стопудово не так.Объесняю дано число Например 3214 и надо получить на экране 321432141

и совсем не стопудово..

я просто показала на примере с однозначным числом.. а если у тебя число больше десяти то ты потом домножаешь не на 10 а на 100 и прибавляешь уже к нему.. smile.gif

конечно слишком большие потом числа получатся.. но все равно метод.. smile.gif
Altair
Да, согласен с fms.
И я думаю, что вам придется использовать как- раз метод домножения на 10 в некоторой степени!
Atos
Тогда можно переделать так:
Код

var a, tmp1, tmp2:longint;

begin
Writeln('введите число: '); Readln(a);
tmp1:=a;
tmp2:=a;
repeat
tpm1:=tmp1 div 10;
tmp2:=tmp2*10;
until (tmp1=0);
Writeln('Число и приписанное к нему точно такое:');
Writeln(tmp2+a);
readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.