#include <iostream.h>
#include <conio.h>
void main()
{
int i, N;
cout << "Введите N(>0): " << endl;
cin >> N;
while(N>0)
{
i = N%10;
cout << i << " ";
N/=10;
}
cout << endl;
getch();
}
Непонятное задание!!!
Для произвольного целого n вывести на экран в обратном порядке следования все числа в десятичной записи значения n. Чето уже читаю в раз так наверное в сотый и никак не вьеду о чем речь!!!
может быть все цифры десятичного числа в обратном порядке?
Ну так во, пусть K равно 12345678 - это в десятичной записи. Как мы видим, в данном случае, число K состоит из цифирок "1","2".."8", вот в задаче просят вывести на экран сначала последнюю цифру - "8", потом предпоследнюю - "7". Какую дальше цифру показывать сказать сложно, и чем кончится тоже, возможны рекурсивные утечки памяти с потерянными указателями непредсказуемы, но для данного примера в 50% будет последнее значение цифирка "1" (В данном примере я рассматриваю половину решений, поэтому и получилось 50%)
*Улыбнитесь и поместите эту тему в раздел юмор*
Вроде
Ну так во, пусть K равно 12345678 - это в десятичной записи. Как мы видим, в данном случае, число K состоит из цифирок "1","2".."8", вот в задаче просят вывести на экран сначала последнюю цифру - "8", потом предпоследнюю - "7". Какую дальше цифру показывать сказать сложно, и чем кончится тоже, возможны рекурсивные утечки памяти с потерянными указателями непредсказуемы, но для данного примера в 50% будет последнее значение цифирка "1" (В данном примере я рассматриваю половину решений, поэтому и получилось 50%)
*Улыбнитесь и поместите эту тему в раздел юмор*[/QUOTE]
если рассматривать с такой стороны то тгда можно в принципе ниче сложного!хорош автор сочинил, я себе несколько дней голову ломал
Так надо было сразу спросить :)
Вообще любая задача делится на ряд простых и очень простых :)
Вообще любая задача делится на ряд простых и очень простых :)[/QUOTE]
а у тебя какой код получился дял этой задачи???или ты не пробывал
Поскольку я лентяй, я не писал своего кода, поскольку задача не является особо интересной. Если бы требования были бы какие-либо к алгоритму - оптимизация по скорасти, или обойтись без объявления переменных... А так - на дельфи на форму кидаем TEdit. В OnChange делаем обработчик
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
i : Integer ;
s : String ;
begin
Caption := '' ;
s := Edit1.Text ;
for i := 0 to Length(s) do
Caption := s + Caption ;
end;
var
i : Integer ;
s : String ;
begin
Caption := '' ;
s := Edit1.Text ;
for i := 0 to Length(s) do
Caption := s + Caption ;
end;
Наслаждаемся.
Если цифирку хотим хранить в Ineger, то придется добавить IntToStr.
На Си код вполне работоспособен и абсолютно заслуженно является решением задачи. Хотя хранить и работать с числом удобнее в данном случае, если оно хранится в строке.
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
i : Integer ;
s : String ;
begin
Caption := '' ;
s := Edit1.Text ;
for i := 0 to Length(s) do
Caption := s + Caption ;
end;
var
i : Integer ;
s : String ;
begin
Caption := '' ;
s := Edit1.Text ;
for i := 0 to Length(s) do
Caption := s + Caption ;
end;
Наслаждаемся.
Если цифирку хотим хранить в Ineger, то придется добавить IntToStr.
На Си код вполне работоспособен и абсолютно заслуженно является решением задачи. Хотя хранить и работать с числом удобнее в данном случае, если оно хранится в строке.[/QUOTE]
Короче я уже задалбался, препод зараза рекурсию хочет, хотя я не пойму нахер она надо, работать только медленее будет. ты можешь написать
Код:
#include <iostream.h>
#include <conio.h>
void printNum(int n)
{
if(n < 10)
cout << n;
else
{
cout << n%10;
printNum(n/10); // РЕКУРСИЯ! РЕКУРСИЯ! РЕКУРСИЯ!
}
}
void main()
{
int N;
cout << "Введите N(>0): " << endl;
cin >> N;
printNum(N);
cout << endl;
getch();
}
#include <conio.h>
void printNum(int n)
{
if(n < 10)
cout << n;
else
{
cout << n%10;
printNum(n/10); // РЕКУРСИЯ! РЕКУРСИЯ! РЕКУРСИЯ!
}
}
void main()
{
int N;
cout << "Введите N(>0): " << endl;
cin >> N;
printNum(N);
cout << endl;
getch();
}
Код:
procedure TForm1.Edit1Change(Sender: TObject);
function Reverse(s: string; i : integer): string ;
begin
if length(s)>=i then
begin
inc(i) ;
Result := Reverse(s,i) + s[i-1] ;
end
end ;
begin
caption := Reverse(Edit1.Text,1) ;
end;
function Reverse(s: string; i : integer): string ;
begin
if length(s)>=i then
begin
inc(i) ;
Result := Reverse(s,i) + s[i-1] ;
end
end ;
begin
caption := Reverse(Edit1.Text,1) ;
end;
Код:
#include <stdio.h>
void Recurse(char ch[], int i)
{
if(ch != 0)
{
Recurse(ch,++i) ;
ch = 0 ;
printf("%s",&ch[i-1]) ;
}
}
void main( int argc, char * argv[])
{
if(argc==2)
{
Recurse(argv[1],0) ;
}
}
void Recurse(char ch[], int i)
{
if(ch != 0)
{
Recurse(ch,++i) ;
ch = 0 ;
printf("%s",&ch[i-1]) ;
}
}
void main( int argc, char * argv[])
{
if(argc==2)
{
Recurse(argv[1],0) ;
}
}
Цитата:
не смог я у себя на компе найти библиотеку, для использования оператора "cout"
http://www.codenet.ru/progr/visualc/vc/2.php
з.ы. автору исходник нужен был на С++, зачем же было на Паскале/Delphi писать?
http://www.codenet.ru/progr/visualc/vc/2.php
з.ы. автору исходник нужен был на С++, зачем же было на Паскале/Delphi писать?[/QUOTE]
Оля ты ж умеешь на с++ писаь, напиши это задание с рекурсией с использованием функции cout,
[QUOTE=OlgaKr]
з.ы. автору исходник нужен был на С++, зачем же было на Паскале/Delphi писать?[/QUOTE]
Оля ты ж умеешь на с++ писаь, напиши это задание с рекурсией с использованием функции cout,
юмористы вы ребята :), тебе Мерлин давно уже все написал (пост #10 ), тебя его решение чем-то не устраивает?
Если б я был юмористом я б в кривом зеркале выступад :=))я там рекурсии не наблюдаю!?
перестань флудить плиз, нормально оформляй темы(читай правила постинга), и давай информотивные названия и не забывай нормально описывать задания и язык программирования.
Насчет флудить - ПОНЯЛ не буду больше!
Подскажите номер того сообщения, где указан язык программирования?
Если я не заметил, прошу прощения, сейчас найду где автор просит именно С++ и погрохаю свои сообщения на Паскале.
Цитата:
Подскажите номер того сообщения, где указан язык программирования?
автор действительно язык не указал, просто методом дидукции :) язык был выяснен(он уже создавал топики с просьбой решить задачи на С++, если я не ошибаюсь).
Стирать или не стирать сообщения - это ваше дело.