Форум программистов, компьютерный форум CyberForum.ru

Разработать класс large - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Синтаксис математического выражения С++ http://www.cyberforum.ru/cpp-beginners/thread1041138.html
Задание звучит так : "Создать программу, анализирующую правильность записи арифметического выражения с точки зрения синтаксиса С++. Арифметическое выражение задается строковой переменной и вводится с клавиатуры компьютера." Самое проблемное это ++ -- и сокращенные присваивания, ибо до этой задачи я даже не пытался компилировать такой ужас как: C=a+++b; C*=a/=a-=(a- --b); C=--(a*=((++b)--));...
C++ Builder Аффинные преобразования, отразить прямоугольник относительно OY есть кусок проги,в котором рисуется прямоугольник в координатной плоскости,теперь этот прямоугольник надо отразить относительно оси y,поможет кто нибудь дописать код? #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;... http://www.cyberforum.ru/cpp-beginners/thread1041119.html
C++ Ввод данных
Во время работы программы она не видит строку(как я думаю) cout<<"m="<<m<<"";(эта строка находится в функции decrypt) как это исправить? Программа работает #include <iostream> #include <cstdlib> #include <ctime> #include <string> #include <fstream> #include <iostream> using namespace std;
Сортировка C++
Нужно создать программу для сортировки массива из 10 элементов типа unsigned int поразрядной сортировкой и сортировкой выбором . заполнение массива случайно или как константа. вот код паскаль:uses crt; const n=10; type itype=word; var mass : array of itype; i, j,x, k: integer; Procedure Swap(Var a, b: itype); Var p: integer;
C++ Разделить цифры, стоящие на нечётных местах на 3 http://www.cyberforum.ru/cpp-beginners/thread1041094.html
Дано число. Разделить цифры, стоящие на нечётных местах на 3. Если не делятся без остатка, то оставить без изменения. помогите пожалуйста составить программу с++ пожалуйста
C++ Будильник Bada Так как среда разработки называется bada C++ имею полное право сюда писать. Вообще те у кого смарты на баде вообщем стандартном будильнике не воспроизводится звуки при сигнале будильника на наушники вот как решить эту проблему. Объясню это для того чтобы когда ложишься спасть подключим к разъему колонок телефон утром он заиграл на громкости колонок А то я уже з@#$ся просыпать =) Ну вообщем если... подробнее

Показать сообщение отдельно
trezz
0 / 0 / 1
Регистрация: 21.01.2013
Сообщений: 107

Разработать класс large - C++

14.12.2013, 17:16. Просмотров 216. Ответов 0
Метки (Все метки)

Помогите, решить задачу. Длинную арифметику перечитал уже несколько десятков раз, но все равно не понял. Небольшой исходник по первой части я уже сделал..., а дальше тупик.. В с++ почти ноль.
Разработать класс large – длинное целое. Для хранения одной десятичной цифры использовать одно число типа char. Количество десятичных цифр, которые должны размещаться в этом числе, передавать в конструкторе. Реализовать методы присваивания, сложения двух чисел, печати числа на экране.
Переписать программу вычисления числа Фибоначчи для типа large. Вычислить fn=100 (22 десятичных цифры). Заме-чание: если Вы в прошлый раз использовали рекурсивный алгоритм вычисления чисел Фибоначчи, то теперь Вам необходимо разработать нерекурсивный алгоритм, так как рекурсивное вычисление для n=100 займет слишком много времени.

#include <iostream>
#include <stdlib.h>
long fibonacci(long);
using namespace std;

int main()
{
setlocale(LC_ALL,"Rus");
int i,j=0;
const int n=20;
int a[n];

cout <<"Массив Фибоначии \n"<<endl;
for(i=0;i<=n-1;i++)
a[i]=fibonacci(i);
for(i=0;i<=n-1;i++)
{
cout << '[' << i+1 << ']' << '=' << a[i] <<'\n';
}
return 0;
}

// Recursive definition of function fibonacci
long fibonacci(long n)
{
if (n==0 || n==1) // base case
return n;
else // recursive case
return fibonacci(n-1)+fibonacci(n-2);
}

Добавлено через 1 час 13 минут
Нашел довольно полезный сайт и сделал сам)
Вот может кому понадобится
#include <iostream>
using namespace std;
unsigned fibonacci(long n)
{
if (n < 2)
return n;
unsigned z= 1, m = n;
while (m > 1) {
m >>= 1;
z <<= 1; }
unsigned fn = 1, fn1 = 1, gn, gn1;
while (z > 1) {
z >>= 1;
gn = fn;
gn1 = fn1;
if (n & z) {
fn = gn1 * gn1 + gn * gn;
fn1 = gn1 * gn1 + 2 * gn * gn1;
} else {
fn = 2 * gn * gn1 - gn * gn;
fn1 = gn1 * gn1 + gn * gn; } }
return fn;
}
int main()
{
setlocale(LC_ALL,"Rus");
cout <<"Массив Фибоначчи \n "<<endl;
for (int i = 0; i < 100; i++)
cout << '[' << i+1<< ']' << '=' << fibonacci(i) <<'\n';
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru