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

Вызов функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Уравнение на c++ (не квадратный корень) http://www.cyberforum.ru/cpp-beginners/thread58771.html
напишите пожалуйста код для решение уравнения y=ax+2y^2-2/3 чтобы в коде было это - scanf("%f"...) и чтобы было такого типа #include <stdio.h> #include <conio.h>
C++ Дано натуральное число N. Дано натуральное число N. Вычислить : N -------- \ 2 i/3 при i, кратном 3... http://www.cyberforum.ru/cpp-beginners/thread58753.html
C++ div и mod, вернее их аналоги в C++ не подходят для вещественных чисел
Всем доброго времени суток, тут возник вопрос при написании программы - есть к примеру число вида nnn.ddd - надо поменять местами дробную и целую часть. Но мною обычно используемые команды...
C++ Подсчёт не заданных в коде значений, а те которые забью я сам.
Вообщем, существует такой код (приведён ниже). Человек я в С++ малопонимающий. А теперь вопрос: как сделать так, что бы x, y, z я вводил сам, с клавиатуры, а не программа это делала сама (читая...
C++ Простое число и массивы http://www.cyberforum.ru/cpp-beginners/thread58740.html
есть задача: Дан массив n целых чисел. Если в массиве есть хотя бы одно простое число, то создается новый массив, в котором все члены массива (кроме простого числа) включены дважды. В противном...
C++ Блок-схема (просто словесно) Вот к этому коду нужна блок схема помогите плиз хоть словесным алгоритмом (ну типа начало --> в ромбике ф-ция 1 и тд.) задача сформировать массив C=(C1,C2,...Cn) четные компоненты которого ровны... подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4945 / 2525 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.10.2009, 16:17  [ТС]
Но почему у меня в другой операции все работает таким же образом:

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
// Умножение длинного числа на простое число: V < b, где b - система счисления.
int simpleMultiplication ( array<int>^U, int V, array<int>^W )
{
    int j = 0;
    int t = 0;
    int n = 0;
    int k = 0;
    int b = 16;
 
    n = U->Length;
    
    W->Resize(W,n);
 
    for ( j = 0; j < n; j++ )
    {
        t = U[j]*V + k;
        k = t/b;
        W[j] = t - k*b;
    }
 
    if ( k != 0 )
    {
        W->Resize(W,n+1);
        W[j] = k;
    } 
 
    return 0;
}
 
int division ( array<int>^ U, array<int>^V, array<int>^W )
{
    simpleMultiplication(U,d,U);
 
// <...>
 
    return 0;
}
Число U умножается на простое число d и результат записывается в U.
Все работает, как часы

Добавлено через 35 минут
Кажется какой трабл происходит именно в функции умножения, ибо путем многочисленых экспериментов выяснено, что все остальные функции возвращают значения, а умножение требует определить длину результирующего массива как n+1, где n - действительная длина результирующего числа.

Добавлено через 2 минуты
Код функции, смысл работы аналогичен: число U умножается на число V и результат записывается в W.
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
int multiplication ( array<int>^ U, array<int>^V, array<int>^W )
{
    int j = 0;
    int k = 0;
    int i = 0;
    int n = 0;
    int m = 0;
    int t = 0;
    int b = 16;
    
    n = U->Length;
    m = V->Length;
    
    W->Resize(W,n+m);
    
    for ( j = 0; j < n; j++ )
    {
        k = 0;
        for ( i = 0; i < m; i++ )
        {
            t = U[j]*V[i] + W[j+i] + k;
            k = t/b;
            W[j+i] = t - k*b;
        }
        W[j+i] = k;
    }
    
    j = n + m - 1;
    while ( (j > 0) && (W[j] == 0) )
    {
        j--;
    }
    W->Resize(W,j+1);
 
    return 0;
}
Добавлено через 56 минут
Ребята, я в отчаянии, что делать?!
Дело в теле функции точно. Проверено. Что может влиять таким образом???
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru