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

Алгоритм Эвклида, как возвратиться к шагу 2 - C++

Восстановить пароль Регистрация
 
alexeYesterday
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 30
22.02.2014, 14:37     Алгоритм Эвклида, как возвратиться к шагу 2 #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int lab2()
{   int a=0,b=0,n=0,q=0;
    do{cout << "Введите первое неотрицательное число: ";
       cin >> a;}while(a<0);
    do{cout << "Введите второе неотрицательное число: ";
       cin >> b;}while(b<0);
    do{cout << "Введите моудуль: ";
       cin >> n;}while(n==0);
    int u1=0,u2=1,u3=n;                      //Вектор (u1,u2,u3)
    int v1=1,v2=0,v3=a;                      //Вектор (v1,v2,v3)
    int t1,t2,t3;                            //Вектор (t1,t2,t3)
 
    while(u3!=1)
    {
    q=u3%v3;                                 //Установить q=u3/v3
    t1=(u1-v1)*q; t2=(u2-v2)*q; t3=(u3-v3)*q;//(t1,t2,t3) = (u1,u2,u3)-(v1,v2,v3)*q
    u1=v1; u2=v2; u3=v3;                     //(u1,u2,u3) = (v1,v2,v3)
    v1=t1; v2=t2; v3=t3;                     //(v1,v2,v3) = (t1,t2,t3)
    }
 
    cout<<u1<<" "<<u2<<" "<<u3<<" ";
    system("pause");}
Данный алгоритм должен работат следующим образом:
Шаги алгоритма:
1. Начальная установка.
Установить (u1,u2,u3):=(0,1, n),
(vl, v2, v3) = (1, 0, a).
2. u3 = 1?. Если u3 = 1, то алгоритм заканчивается.
3. Разделить, вычесть.
Установить q:=[u3/v3].
Затем установить
(t1, t2, t3) := (u1,u2,u3) - (v1, v2, v3) * q,
(u1,u2,u3):= (v1, v2, v3),
(v1, v2, v3) := (t1, t2, t3).

Возвратиться к шагу 2.
Но в итоге программ завершается, подскажите пожалуйста в чем ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2014, 14:37     Алгоритм Эвклида, как возвратиться к шагу 2
Посмотрите здесь:

Как прописать алгоритм... C++
Не пойму как организовать алгоритм C++
C++ как написать этот алгоритм?
C++ Расчет наибольшего общего делителя двух натуральных чисел используя алгоритм эвклида
C++ Решения СЛАУ методом Гаусса по шагу
Как написать алгоритм? C++
C++ При вводе определенных переменных программа должна возвращать пользователя обратно к первому шагу
алгоритм эвклида C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru