Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Бесконечные переменные, Бесконечные переменные 
:(
    Опции темы
MONSTER
Дата 19.12.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 29.10.2006

Репутация: нет
Всего: нет



Я тута начал делать прогу и мне нужна бесконечная  переменная  а то когда я ввожу очень большое число в переменную integer то вылетает ошибка  smile   какнибуть можно сделать так чтобы можно было запихать бесконечное значение?
И ещё ктонибуть знает как разделить текст на части например:
12333332122

int value[256];

и присвоить:
value[1] = 1
value[2] = 2
value[3] = 3
value[4] = 3


и кстати как возвести число в степень?

 Помогите пожалуста!!!!

PM MAIL   Вверх
apook
Дата 19.12.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



Ты говоришь текст int value это что-то новенькое
в char * можно много вместить но если производить вычисления придется
конвертипровать а вообще в long влезет больше чем в int

c int value такое можно сделать так:

int value[4];

value[0] = 1; // <-- Учти что отсчет с нуля
value[1] = 2;
value[2] = 3;
value[3] = 4;

Бесконечных естесственно не бывает могут быть очень большые




--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
EvgenZ
Дата 19.12.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



а*а = а^2
a*a*a = a^3
и т.д. возведение в степень 


так если ты вводишь текстом, то она у тебя и идет текстом ))), т.е. ты сразу можешь обращаться к символам по индексу. 


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
Voldemar2004
Дата 19.12.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



Цитата(MONSTER @  19.12.2006,  11:10 Найти цитируемый пост)
как возвести число в степень?
Функция pow()
Код
#include <math.h>
#include <stdio.h>

int main(void)
{
  double x = 2.0, y = 3.0;

  printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
  return 0;
}


Добавлено @ 10:42 
Но можно и самому написать. smile 


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
apook
Дата 19.12.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



что такое степень: это числ умноженное на себя количество раз
равное показателю степени
отсююда вывод 
3 в кубе это 3 + 3 + 3 напрашивается рекурсия
Это мжет выглядеть так:

double raise_( double rezult, double n, int power )
{
rezult =rezult+n;
power--;
if( power >0 ) rezult=raise_( rezult, n, power );
return rezult;
}
в итоге:
Код

#include "stdio.h"
#include "conio.h"

double raise_( double rezult,  double n, int power )
{
rezult =rezult+n;
power--;
if( power >0 ) rezult=raise_( rezult, n, power );
return rezult;
}

void main()
{
double a;
a=raise_( 0, 3, 3 );
printf( "%0.2f", a );
}

Пойду почитаю про это ато придумаваю че-то


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
EvgenZ
Дата 19.12.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



а я тут подумал, ему наверное надо будет возводить в степень не инт, а чар... если он напишет класс МегаДлинноеЧисло, то придется задуматься над выполнением возведения в степень строки.

Добавлено @ 11:08 
Цитата

что такое степень: это числ умноженное на себя количество раз
равное показателю степени
отсююда вывод 
3 в кубе это 3 + 3 + 3 напрашивается рекурсия

3 в кубе это 27  smile  3*3*3


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
Voldemar2004
Дата 19.12.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



apook, функция pow может считать числа с дробными степенями. В этом ее фишка. Чтобы самому написать такую, нужны Численные Методы. smile 


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Romikgy
Дата 19.12.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



зачем?
имхо можно через exp & ln 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
apook
Дата 19.12.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 9
Всего: 23



Цитата

3 в кубе это 27  smile  3*3*3 

Да извиняюсь лоханулся

Счас у Страуструпа посмотрел коротко и ясно:

 
Код

float pow ( float x, int n )
      {
          if ( n < 0 )
              error ( "ошибка: для pow () задан отрицательный показатель");
          switch ( n )
          {
          case 0:  return 1;
          case 1:  return x;
          default: return x * pow ( x, n-1 );
          }
      }




--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
Voldemar2004
Дата 19.12.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



Цитата(apook @  19.12.2006,  13:00 Найти цитируемый пост)
"ошибка: для pow () задан отрицательный показатель");
Не понял, можно ведь использовать отрицательный и дробный показатель степени:
Код
  double x = 25.0, y = -.5;

  double res = pow(x, y);




--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
maxim1000
Дата 19.12.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



ну вообще-то лучше так:
Код

float pow(float x,int n)
{
    if(n<0)
        error(...);
    if(n==0)
        return 1;
    if(n%2==0)
        return pow(x*x,n/2);
    else
        return x*pow(x*x,n/2);
}



--------------------
qqq
PM WWW   Вверх
KelTron
Дата 19.12.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: нет
Всего: 38



Цитата(EvgenZ @  19.12.2006,  10:29 Найти цитируемый пост)

а*а = а^2
a*a*a = a^3 и т.д. возведение в степень 

это на каком языке?


Это сообщение отредактировал(а) KelTron - 19.12.2006, 14:43


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Rodman
Дата 19.12.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



на Excel
PM MAIL WWW Skype GTalk YIM MSN   Вверх
KelTron
Дата 19.12.2006, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: нет
Всего: 38



Я думал мы о С++, видимо я заблуждался  smile  


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
bsa
Дата 19.12.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(apook @ 19.12.2006,  10:27)
Ты говоришь текст int value это что-то новенькое 
в char * можно много вместить но если производить вычисления придется
конвертипровать а вообще в long влезет больше чем в int

sizeof(long) == sizeof(int) == 4 байта на 32-х битных системах (DOS - 16-ти битная система).
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0600 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.