![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите за вознагрождение. [D7, XP]
XSasha © (2005-11-17 18:12:00)Привет всем!!!
Помогите мне пожалуйста разобраться с двумя задачами.
Первая.
Как вывести поместить текст из Edit1 в Edit2 задам наперёд.
Пример.
Edit1.text:="Hellow World"
Edit2.Text:="dlrow wolleh"
Вторая.
Известно что любое натурально число до 1001 можно представить в виде суммы квадратов не более чем 4 чисел, как написать программу которая разлагала бы числа.
Пример.
Edit1.text:="16"
Edit2.Text:="4+4+4+4"
////
Edit1.text:="13"
Edit2.Text:="4+4+4+1"
Первому кто поможет решить эти две задачи обещаю переслать на счёт WebMoney 3$!
Gydvin (2005-11-18 07:03:00) [1]Antonn © (17.11.05 18:32) [3]
downto
Не знал :(
Antonn (2005-11-18 05:04:00) [2]отправляй ему мани.
Manufel (2005-11-17 19:33:00) [3]Прошу прощения, та функция не коректная, вот правильный вариант:
function NumToNums(x:word):string;
var I,a:word;
e:real;
begin
if x=1 then
begin
result:='1';
exit;
end
else
if x=0 then
begin
result:='';
exit;
end;
result:='';
a:=x;
for i:=a downto 1 do
begin
e:=trunc(sqrt(a));
if (sqrt(a))=e then
break
else
a:=i;
end;
result:=result+inttostr(a)+'+'+NumtoNums(x-a);
end;
XSasha (2005-11-17 19:17:00) [4]>Manufel ©
Огромное спасибо, выручил!
Manufel (2005-11-17 19:13:00) [5]function NumToNums(x:word):string;
var I,a:word;
begin
if x=1 then
begin
result:='1';
exit;
end
else
if x=0 then
begin
result:='';
exit;
end;
result:='';
repeat
a:=trunc(sqrt(x));
for i:=a downto 1 do
begin
if (sqrt(a))=sqr(trunc(sqrt(a))) then
break
else
a:=i;
end;
result:=result+inttostr(a)+'+'+NumtoNums(x-sqr(a));
end;
......
используешь так:
edit1.text:=NumToNums(n);
где n - число
Если будут какие вопросы пиши в асю 279214160 или на мыло manufel@mail.ru
Денег не надо, спасибо будет достаточно =)
Плохиш (2005-11-17 19:01:00) [6]1001 = 31^2 + 6^2 + 2^2 пойдёт?
XSasha (2005-11-17 18:47:00) [7]Прости не прочитал исправление, щас всё супер вот только второе как решитоь я не знаю
XSasha (2005-11-17 18:33:00) [8]var i:integer;
begin
for i:=length(edit1.text) to 1 do
edit2.text:=edit2.text+edit1.text[i];
Этот код не работает ничего не праисходит
Antonn (2005-11-17 18:32:00) [9]Antonn © (17.11.05 18:30) [2]
for i:=length(edit1.text) to 1 do
for i:=length(edit1.text) downto1 do
Antonn (2005-11-17 18:30:00) [10]var i:integer;
begin
for i:=length(edit1.text) to 1 do
edit2.text:=edit2.text+edit1.text[i];
PS бонус оставь тому, кто второе решит.
Tonich (2005-11-17 18:23:00) [11]
> на счёт WebMoney 3$!
не поскупился , молодец !!! ))