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

N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
lEX102
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 8
20.11.2011, 20:27     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #1
помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 20:27     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь.
Посмотрите здесь:

Как написать класс «несократимая дробь» (т.е. дроби 2/4, 4/8 и т.п. есть дробь 1/2)? C++
Отделить в дроби знаменатель от числителя C++
Составить программу для деления дроби на дробь C++
C++ Вывести: знак, целую часть, сокращенные числитель и знаменатель
Составить программу , позволющую сократить дробь. C++
C++. Перезагрузка операторов (Написать класс Дробь с полями числитель и знаменатель) C++
C++ Вводятся числитель a и знаменатель b дроби. Вывести: знак, целую часть, сокращенные числитель и знаменатель
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1425 / 792 / 55
Регистрация: 26.03.2010
Сообщений: 2,727
20.11.2011, 20:49     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #2
разделите Н и М на нод (Н, М)
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.11.2011, 20:55     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
long Nod(long a, long b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
 
int main( )
{
    long a, b, nod;
    scanf("%ld%ld", &a, &b);
    nod  = Nod(a, b);
    printf("%ld %ld\n", a/nod, b/nod);
    return 0;
}
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
20.11.2011, 21:02     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #4
Thinker, а если я введу
0 0
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
20.11.2011, 21:05     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int gcd(int n,int m)
{
   if (m==0) return n;
   return gcd(m,n%m);
}
 
int main()
{
    setlocale(0,"");
    int n, m;
    cout<<"N="; cin>>n;
    cout<<"M="; cin>>m;
    if(!m)          cout<<"ГЌГ* Г*îëü äåëèòü Г*åëüçÿ."<<endl;  
    else if(n%m==0) cout<<"PåçóëüòГ*ГІ: "<<n/m<<endl;    
         else       cout<<"PåçóëüòГ*ГІ: "<<n/gcd(n,m)<<"/"<<m/gcd(n,m)<<endl;      
    system("pause");
    return 0;
}
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.11.2011, 21:08     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #6
Цитата Сообщение от iama Посмотреть сообщение
Thinker, а если я введу
А вы не вводите так На самом деле проверки лень писать)
lEX102
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 8
20.11.2011, 21:10  [ТС]     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #7
можно пожалуйста без этих не знакомых мне директив, только с stdio.h и math.h
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.11.2011, 21:13     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #8
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
#include<stdio.h>
long Nod(long a, long b)
{
    while (a && b)
        if (a >= b)
           a %= b;
        else
           b %= a;
    return a | b;
}
 
int main( )
{
    long a, b, nod;
    scanf("%ld%ld", &a, &b);
    if (!a && !b)
       puts("a = 0, b = 0");
       else if (b == 0)
           puts("b = 0");
       else
       {
          nod  = Nod(a, b);
          printf("%ld %ld\n", a/nod, b/nod);
       }
    return 0;
}
mc.Duck
Заблокирован
20.11.2011, 21:25     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #9
Вот:
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
#include <iostream>
#include <cstdlib>
#include <clocale>
#include <iomanip>
using namespace std;
 
 
 int main(void)
 {
     setlocale(LC_ALL,"Russian");           //âêëþ÷Г*ГҐГ¬ ðóññêóþ êèðèëëèöó
 
while(true)
{
  int n0=0;
  int m0=0;
  cout<<"Ââåäèòå ÷èñëèòåëü äðîáè: ";cin>>n0;
  cout<<endl;
  cout<<"Ââåäèòå Г§Г*Г*ìåГ*Г*òåëü äðîáè: ";cin>>m0;
  
  int m1[100];
  int m2[100];
  int m3[100];
  int c1=0;
  int c2=0;
  int n=n0;
  int m=m0;
 
  for(int i=2;i<=n;i++)
  if(n % i == 0) {c1++;m1[c1]=i; n/=i;}
 
  for(int j=2;j<=m;j++)
  if(m % j == 0) {c2++;m2[c2]=j;m/=j;}
  
  int c3=0;
  
  for(int i=1;i<=c1;i++)
  for(int j=1;j<=c2;j++)
  if(m1[i]==m2[j]) {c3++;m3[c3]=m1[i];}
  
  for(int i=1;i<=c3;i++) {n0/=m3[i];m0/=m3[i];}
  
  cout<<endl;cout<<endl;
  cout<<n0<<"/"<<m0<<endl;
  
  cout<<endl;cout<<endl;
  
}
 }
neske
1425 / 792 / 55
Регистрация: 26.03.2010
Сообщений: 2,727
20.11.2011, 21:26     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #10
быдлокодер)
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
20.11.2011, 21:27     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #11
neske, капитан

А код-то действительно достойный
mc.Duck
Заблокирован
20.11.2011, 21:34     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь. #12
neske, да уж согласен, код получился не ахти - спешил)))
iama
20.11.2011, 21:36
  #13

Не по теме:

mc.Duck, спешил?! Уж не отговаривайся, просто ты плохой программист.

Dani
20.11.2011, 21:50
  #14

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
А вы не вводите так На самом деле проверки лень писать)
Простые числа

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 22:17     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь.
Еще ссылки по теме:

Вывести: знак, целую часть, сокращенные числитель и знаменатель дроби C++
Несократимая дробь ,представленная двумя длинными целыми:числитель и знаменатель C++
Составить программу для деления дроби на дробь C++
Составить программу для умножения дроби на дробь с использованием пользовательских функций C++
C++ Создать класс «дробь» с компонентными данными: целая часть, числитель, знаменатель. Перегрузить операции: >>,

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

Или воспользуйтесь поиском по форуму:
Thinker
20.11.2011, 22:17     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь.
  #15

Не по теме:

Dani, вы правы

Yandex
Объявления
20.11.2011, 22:17     N и M числитель и знаменатель дроби, составить программу, позволяющая сократить эту дробь.
Ответ Создать тему
Опции темы

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