Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Протестировать программу https://www.cyberforum.ru/ cpp-beginners/ thread186163.html
У кого есть возможность, протестируйте ,пожалуйста, программу (на примере) и вышлите результат, а то дома не на чем, а завтра сдача в универе. Заранее благодарен.
Как сделать чтобы при создании массива его имя менялось? C++
Вот есть такая функция: void UniqueCollection (int x1, int y1, int x2, int y2) { int Values = 4; int *Collection; Collection = new int ; Collection = x1; Collection = y1; Collection = x2; Collection = y2;
C++ Создания разных бесконечных диапазонов Добрый день! Вот есть маленькая задача, вполне решаемая, но я так и не смог это реализовать. Задача: Дано вещественное число X. Нужно найти значения f(x) при условии что: если x<0 . f(x)=0 если x принадлежит [0, 1), [2, 3),...и т.д f(x)= 1 если x принадлежит [1, 2), [3, 4),...и т.д f(x)=-1 Столкнулся с проблемой создания бесконечного диапозано от [0, 1), [2, 3),... и [1, 2),... https://www.cyberforum.ru/ cpp-beginners/ thread186124.html C++ Строки https://www.cyberforum.ru/ cpp-beginners/ thread186123.html
Даны натуральное число n, символы S1,..,Sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. Требуется преобразовать последовательность S1,..,Sn следующим образом. Удалить группы пробелов, которыми начинается и которыми заканчивается последовательность, а также заменит каждую внутреннюю группу пробелов одним пробелом. Если указанных групп нет в данной...
Как создать расширяющийся массив? C++
К примеру есть массив ( Array ) (Row = 2) и когда массив будет заполнен до Row - 1 то чтобы он увеличивался в 2 раза, тем самым позволяя продолжить вносить в него дополнительную информацию. --------- Не вылезать за пределы знаний ООП
C++ Двумерные массивы и функции!!! Ребят,нужно ниписать прогу,которая будет перемножать 2-ый массив с использованием функций! я неким чудом ввела массив,а вот с функциями -косяк! ПОМОГИТЕ,ПОЖАЛУЙСТА!!!!! кусочек творчества: https://www.cyberforum.ru/ cpp-beginners/ thread186112.html
C++ подскажите с классами https://www.cyberforum.ru/ cpp-beginners/ thread186107.html
Здравствуйте! Помогите, пожалуйста, разобраться с лабораторкой.. Цитата:Используя методы и средства объектно-ориентированного языка программирования Си++ разработать базу данных студентов. Исходными данными для проектирования является: 1. информация о группе студентов из N человек, где запись о студенте содержит следующие данные: 1) Ф.И.О. студента. 2) Число, месяц, год рождения. 3)...
C++ Какая разница?!
Вот две сортировки массивов, если не трудно обьясните пожалуйста разницу и есть ли указатели тут: bool foo(double i,double j) { return (abs(i) > abs(j)); } int main(){ double arr = {1.2, 1.8, 4.5, 0.1, 0.9, 9.7, 9.8, 0.2, 3.5, 5.7, 3.8, 6.0, 4.2, 4.3, 5.1 };
C++ Переделать код из массива в списки В неупорядоченном массиве есть совпадающие элементы. Из каждой группы одинаковых элементов оставить только один, удалив остальные и поджав элементы к его началу. #include<iostream.h> #include<iomanip.h> #include<conio.h> #include<fstream.h> #include<time.h> #include<stdio.h> #include<windows.h> #include<errno.h> https://www.cyberforum.ru/ cpp-beginners/ thread186078.html C++ массивы и функции https://www.cyberforum.ru/ cpp-beginners/ thread186077.html
Помогите, пожалуйста, разобраться в следующем задании. "Дан 2d массив А(n,n), который заполнен нулями и единицами. Узнать сколько колонн и рядов заполнены только единицами или только нулями. Создать и использовать функцию, которая может указать на то, что один ряд или одна колонна состоит только из 0 или только из 1." Не знаю как сделать, чтобы проверялся только один ряд или одна колонна.
C++ Массивы + файлы
Просьба помочь с реализацией, а то вообще без понятия как это делать. В некоторых видах спортивных состязаний выступление каждого спортсмена независимо оценивается несколькими судьями, затем из всей совокупности оценок удаляются; наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Если наиболее высокую оценку...
C++ Прокомментировать программу https://www.cyberforum.ru/ cpp-beginners/ thread186057.html
Ребят, если не сложно прокомментируйте и проверьте пожалуйста програмку в Microsoft Visual C++ 6.0. Вроде ошибок не дает но не могу понять ее результата. Спасибо огромное. Само задание: Дана матрица из N строк и М столбцов (1<N<=100, 1<M<=50). Выполнить заданную операцию над матрицей: Переоформить матрицу таким образом, чтобы ее строки располагались по неубыванию их поэлементных сумм. ...
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
05.11.2010, 18:19 0

Деление больших чисел - C++ - Ответ 1086406

05.11.2010, 18:19. Показов 20201. Ответов 10
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//////////////////////////////////////////////////////////////////////////////////////
//Необходимо разделить большое чило на большое число.
//Эти числа хранятся в массиве (каждый элемент - одна цифра числа).
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_num_s;
//////////////////////////////////////////////////////////////////////////////////////
void  del_leading_zero(T_num_s&  a)
{
    while(a.size() > 1
          && a[0] == '0')
    {
        a.erase(0, 1);
    }
}
//////////////////////////////////////////////////////////////////////////////////////
bool less_for_big_int(T_num_s  a, T_num_s  b)
{
    del_leading_zero(a);
    del_leading_zero(b);
 
    return  a.size() == b.size() ? a < b : a.size() < b.size();
}
//////////////////////////////////////////////////////////////////////////////////////
void  reduce_big_int(T_num_s&  minuend, const T_num_s&  subtrahend)
{    
    for(T_num_s::size_type  cur_pos = 0; cur_pos < subtrahend.size(); ++cur_pos)
    {
        T_num_s::size_type  minuend_cur_pos     = minuend.size()     - 1 - cur_pos;
        T_num_s::size_type  subtrahend_cur_pos  = subtrahend.size()  - 1 - cur_pos;
 
        char&        cur_minuend_dig_ref     = minuend     [minuend_cur_pos];
        const char&  cur_subtrahend_dig_ref  = subtrahend  [subtrahend_cur_pos];
 
        if(cur_minuend_dig_ref >= cur_subtrahend_dig_ref)
        {
            cur_minuend_dig_ref -= cur_subtrahend_dig_ref - '0';
        }
        else
        {
            (cur_minuend_dig_ref -= cur_subtrahend_dig_ref - '0') += 10;
            for(int i = 1; ; ++i)
            {
                if(minuend[minuend_cur_pos - i] == '0')
                {
                    minuend[minuend_cur_pos - i] = '9';
                }
                else
                {
                    --minuend[minuend_cur_pos - i];
                    break;
                }
            }
        }
        del_leading_zero(minuend);
    }
    del_leading_zero(minuend);
}
//////////////////////////////////////////////////////////////////////////////////////
void  inc_big_int(T_num_s&  a)
{    
    for(T_num_s::size_type  cur_pos = a.size() - 1;; --cur_pos)
    {
        if(a[cur_pos] < '9')
        {
            ++a[cur_pos];
            return;
        }
        else
        {
            a[cur_pos] = '0';
            if(cur_pos == 0)
            {              
                a.insert(0, "1");
                return;
            }
        }    
    }
}
//////////////////////////////////////////////////////////////////////////////////////
T_num_s  div_big_int(const T_num_s&  a, const T_num_s&  b)
{
    if(b == "0")
    {
        return  "division into zero";
    }    
 
    T_num_s  res = "0";
    T_num_s  minuend     = a;
    T_num_s  subtrahend  = b;
    
    while(subtrahend.size() < minuend.size())
    {
        subtrahend += '0';    
    }
 
    for(;;)
    {
        while(!less_for_big_int(minuend, subtrahend))
        {
            reduce_big_int(minuend, subtrahend);
            inc_big_int(res);
        }
        if(subtrahend.size() <= b.size())
        {
            break;
        }
        
        subtrahend.erase(subtrahend.size() - 1);   
        res += '0';              
        del_leading_zero(res);
    }          
    
    return  res;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    for(;;)
    {
        std::cout << "a = ";
        T_num_s  a;
        std::cin >> a;
        del_leading_zero(a);
 
        std::cout << "b = ";
        T_num_s  b;
        std::cin >> b;
        del_leading_zero(b);
 
        std::cout << "a / b = "
                  << div_big_int(a, b)
                  << std::endl
                  << std::endl
                  << std::endl;    
    }
}


Вернуться к обсуждению:
Деление больших чисел C++
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2010, 18:19
Готовые ответы и решения:

Деление больших чисел
Доброго времени суток. Спасите пожалуйста, как здесь быть:) Даны два числа. Ваша задача найти...

Ускорить деление больших чисел
Всё бы ничего, да уж очень медленно. :( По форуму смотрел, в Инете искал. Ничего аппетитного...

Класс больших чисел. Деление по Кнуту.
Кнут т2 стр. 300 алгоритм D. Кто реализовал для b=2^32 или 2^16 - поделитесь, плз, если не жалко !...

Деление больших чисел (нужно ускорить)
Ребятки, помогите ускорить. Уж очень медленно. Класс совсем простой(вектор со знаком): static...

10
05.11.2010, 18:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2010, 18:19
Помогаю со студенческими работами здесь

Деление больших чисел методом Ньютона-Рафсона
Добрый день, ребятки. Давно уже хочу заменить деление с бинарным поиском на Ньютона-Рафсона....

Деление больших чисел
Произвести деление двоичных беззнаковых чисел большой размерности. Нужно ввод чисел сделать на С++,...

Деление больших чисел
здравствуйте. есть число X, где каждая цифра представляется в виде одного байта с лева направо...

Деление больших чисел
Хотел разделить 2 числа o = k.pow((int)2);//числитель u =...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru