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

Наибольшее общее кратное - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ наследование классов http://www.cyberforum.ru/cpp-beginners/thread331453.html
Народ, всем приветик! Уже 3 день сижу над етой темой, не получается задание, вчера выбрасывал на форум исходник, но в конце концов сделал я неправильно. Если кто сможет-напишите если нетяжело. А...
C++ Тема для получения полезной информации Здравствуйте! Предлогаю закрепить эту тему. Дабы не плодить темы с вопросами где находится это, как настроить то, что значит интерпритатор и т.д., предлогаю писать сюда. Тот кто знает ответит вам.... http://www.cyberforum.ru/cpp-beginners/thread331448.html
C++ Посоветуйте книгу по с++
Посоветуйте книгу по с++ для самых-самых нубов чтобы было понятно, если и понятия не имеешь что это за язык.
C++ Конвертация из int в string и наоборот
Вопрос такой: Как переменной типа string записать значение типа int и наоборот. Помогите плиз никак не разбирусь
C++ символ http://www.cyberforum.ru/cpp-beginners/thread331401.html
Для встречающихся в заданном тексте пар рядомрасположенных символов указать сколько раз встречается каждая из таких 2-х буквенных сочетании
C++ Использование русского языка в DevC++ Пишу программу на С++ (недавно начал изучение). Весь код есть, компиляция проходит успешно, запускаю - вместо букв, "каракули". Естественно, нужно добавить (или как там это называется) русский язык.... подробнее

Показать сообщение отдельно
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692

Наибольшее общее кратное - C++

10.07.2011, 13:31. Просмотров 1536. Ответов 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
#include<iostream>
using namespace std;
int main ( )
{setlocale(LC_ALL,"Rus");
int a,b,c;
bool g=true;
cout<<"Ввведите первое число --> ";
cin>>a;
cout<<"Ввведите второе число --> ";
cin>>b; 
 
do{
   a = a % b;
  if (a == 0)
  {c=b;
break;}
b = b % a;
if (b == 0)
{c=a;
break;}
 }while (true);
 
 
 cout<<"Результат "<<c;
 cin.get();
  cin.get();
  return 0;
}
Например пользователь вводит в a 125 в b 10.
После этого выполняется


C++
1
2
3
 a = a % b;
  if (a == 0)
  {c=b;
остаток от деления 5 это записывается в а.

Дальше идет выполнение

C++
1
2
3
4
b = b % a;
if (b == 0)
{c=a;
break;}
теперь уже 10 делится на 5 остатка нет. Следовательно это число является искомым, то есть наибольшим общим делителем.

эту программу я понимаю, но вот эту нет, хотя она в результате дает тот же результат.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void fraction::lowterms()   
{
long tnum/*первое число*/, tden/*второе число*/, temp, gcd;
tnum = labs(num);      //с эти сталкиваюсь впервые      
tden = labs(den);           
 
 
while(tnum !=0)
{
  if( tnum < tden )         
    { temp=tnum; tnum=tden; tden=temp; }
  tnum = tnum - tden;  
}
gcd = tden;                  
num = num / gcd;          
den = den / gcd;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru