Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2009, 21:10   #11
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

у меня вопрос: каким лучше методом разложить число на цифры??? может методом деления на 100, 10 и т.д.???
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 11.04.2009, 21:13   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
у меня вопрос: каким лучше методом разложить число на цифры??? может методом деления на 100, 10 и т.д.???
Делите на 10.

Пусть есть число A.
Код:
while(A>0)
 {
 B = A % 10; // в B помещаем очередную цифру A (начиная справа)
 A = A / 10; // и делим A на 10, чтобы при следующей итерации получить следующую цифру
 }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.04.2009, 21:14   #13
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

оуууууууууу, спс)))
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 11.04.2009, 22:22   #14
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

чето у меня ваще не получаеться..... =(((
даже просто запуская : "while(A>0)
{
B = A % 10; // в B помещаем очередную цифру A (начиная справа)
A = A / 10; // и делим A на 10, чтобы при следующей итерации получить следующую цифру
}"

ситает 1 цифру нормально. а потом от куда-то выскакивает 125 и получаеться непонятно что(((
я не могу понять саму логику решений рекурсий.... еще и напрягает мысль, что в июне сдавать экзамен по этому всему....=(
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 11.04.2009, 23:12   #15
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

МартинИ, так вы бы показали то, что написали.
Цитата:
я не могу понять саму логику решений рекурсий
тут рекурсия не нужна.

Ладно. Эту покажу. Но вторую сделайте сами. Там совсем делать нечего.
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
long N,a;
int tmp=0;

cin>>N;  // читаем число

while(N>9)  // пока не сведем все к одной цифре...
 {
  a = N;  // сохраняем число, чтоб не испортить ;)
  tmp = 0;  // сумма для текущего числа
  while(a>0)     // разбираем число на цифры:
   {
    tmp += a%10;  // прибавляем к сумме очередную цифру
    a /= 10;  
   }
  N = tmp;   // теперь число равно этой сумме
 }

 cout<<N;  // выводим получившуюся цифру

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.04.2009, 00:16   #16
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

так в условии написано: "10.44. Написать рекурсивную функцию ..."

ладно, немного отклонюсь от темы рекурсий...

Код:
#include<stdio.h>
#include<conio.h>
#include<math.h>
float a,b,c,x,m,e=2.7;
void main()
{
 clrscr();
 printf("\nVvedite nachalo promizhutka ");
 scanf("%f",&a);
 printf("\nVvedite konec promezhutka  ");
 scanf("%f",&b);
 printf("\nVvedite rozmer shaga ");
 scanf("%f",&c);
 while(a<=b)
 {
  if(a<0)
  {
   m=log(fabs(a+pow(e,a)));
   printf("\nX=%f",&a," Y=",&m);
  }
  if(a>=0){if(a<=1)
  {
   m=a*sin(sqrt(a+sqrt(a)));
   printf("\nX=%f",&a," Y=",&m);
  }}
  if(a>1)
  {
   m=log(fabs(a+pow(e,a)));
   printf("\nX=%f",&a," Y=",&m);
  }
  a=a+c;
 }
  getch();
}
условие, надо найти значения х и у с шагом С при определенных условиях. начало промежутка = -2, конец=2, а шаг= 0,2
вот я решила задачу, только незнаю, как записываеться число е.
и проблема в том, что при выводе результатов все х=0, а надпись с у вообще не выводит...
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 12.04.2009, 00:28   #17
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А, ну да. Ну тогда первая так:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int fun(long N)
{
 if(N<10)
  return N;

 int S=0;
 while(N>0)
  {
   S += N%10;
   N /= 10;
  }
 return fun(S);
}

int main()
{
long N;
cin>>N;

cout<<fun(N);

getch();
return 0;
}
=============================
Цитата:
вот я решила задачу, только незнаю, как записываеться число е.
Есть функция exp() - возводит число е в степень, указанную в аргументе.
Цитата:
и проблема в том, что при выводе результатов все х=0, а надпись с у вообще не выводит...
Вместо x вы выводите его адрес.
И вы неверно используете функцию printf.

Код:
#include<stdio.h>
#include<conio.h>
#include<math.h>
float a,b,c,x,m;
int main()
{
 printf("\nVvedite nachalo promizhutka ");
 scanf("%f",&a);
 printf("\nVvedite konec promezhutka  ");
 scanf("%f",&b);
 printf("\nVvedite rozmer shaga ");
 scanf("%f",&c);
 while(a<=b)
 {
  if(a<0)
  {
   m=log(fabs(a+exp(a)));
   printf("\nX=%f, Y=%f",a,m);
  }
  if(a>=0){if(a<=1)
  {
   m=a*sin(sqrt(a+sqrt(a)));
   printf("\nX=%f, Y=%f",a,m);
  }}
  if(a>1)
  {
   m=log(fabs(a+exp(a)));
   printf("\nX=%f, Y=%f",a,m);
  }
  a=a+c;
 }
  getch();
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 12.04.2009, 14:38   #18
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

ой, осталась привычка от Паскаля

спасибо большое))) буду дальше работать над задачами))
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 12.04.2009, 14:53   #19
МартинИ
Пользователь
 
Аватар для МартинИ
 
Регистрация: 23.12.2008
Сообщений: 47
По умолчанию

а как число пи записываеться??
Люди - отвратительные. Эгоистичные. Шумные. Говорят ерунду. А подумав еще немножко, понимаешь, что ты абсолютно такой же, если не хуже...
МартинИ вне форума Ответить с цитированием
Старый 12.04.2009, 14:55   #20
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а как число пи записываеться??
Подключите Math.h.
Там есть константа M_PI.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сборник задач по Delphi AngelOfDeath Свободное общение 10 09.02.2009 21:03
Книга по программированию микроконтроллеров на языке С sheremi Общие вопросы C/C++ 2 09.12.2008 00:30