aelz
1

Вывести: знак, целую часть, сокращенные числитель и знаменатель

24.10.2011, 18:53. Показов 2235. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводятся числитель и знаменатель дроби. Вывести: знак, целую часть, сокращенные числитель и знаменатель.

Кто может помочь сделать код по такой вот задачке? Необходимо использовать функцию do while или while... Буду премного благодарен!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2011, 18:53
Ответы с готовыми решениями:

Вводятся числитель a и знаменатель b дроби. Вывести: знак, целую часть, сокращенные числитель и знаменатель
Вводятся числитель a и знаменатель b дроби. Вывести: знак, целую часть, сокращенные числитель и...

Вывести: знак, целую часть, сокращенные числитель и знаменатель дроби
Вводятся числитель a и знаменатель b дроби. Вывести: знак, целую часть, сокращенные числитель и...

Для числителя и знаменателя дроби получить знак, целую часть, сокращенные числитель и знаменатель.
Немного не понимаю как в этой задаче вывести сокращенные числитель и знаменатель. остальное всё...

Создать класс «дробь» с компонентными данными: целая часть, числитель, знаменатель. Перегрузить операции: >>,
Здравствуйте,вот задача: Создать класс «дробь» с компонентными данными: целая часть, числитель,...

4
23 / 23 / 4
Регистрация: 05.11.2010
Сообщений: 134
24.10.2011, 21:36 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Знаю что не без ошибок. Пусть меня поправят знающие.
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
#include <iostream>
#include<math.h>
#include<conio.h>
using namespace std;
int main()
{
       int x,y;
       float z;
       While(x==0)
        cout << "x = ";
        {
        if  (x==0)
        cout"error";
        }
        else (x!=0)
         cin >> x;
         }
        While(y==0)
        cout << "y = ";
        {
        if  (y==0)
        cout"error";
        }
        else (y!=0)
        cin >> y;
         z=x/y;
          cout <<"s=" << s<< endl;
         getch();
        return 0;
}
0
28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171
24.10.2011, 22:40 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Сильно упрощенный вариант именно для Си:

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
    int chisl, znam;
    char znak;
 
    printf("Chislitel: "); 
    scanf("%d",&chisl);
    printf("Znamenatel: ");
    scanf("%d",&znam);
 
    if (!znam)   //проверка занаменателя
        printf("\nZnamenatel ne mojet bit' 0!");
    else
    {
        if((chisl<0)==(znam<0))  //определение знака
            znak='+';
        else
            znak='-';
 
 
        chisl=fabs((double)chisl);  //берем модули дроби для дальнейших вычислений
        znam=fabs((double)znam);   // 
 
        int nod,a=chisl,b=znam;
        while(b>0&&a>0) // для сокращения дроби находим НОД
        {
            int tmp=a;
            a=b;
            b=tmp%b;
        }
        nod=a;
 
        if(nod>1) //Если НОД>1, значит есть на что сокращать
        {
            chisl/=nod;
            znam/=nod;
        }
 
        int celChast=0;
        while(chisl>=znam)// переводим неправильную дробь в правильную
        {
            celChast++;
            chisl-=znam;
        }
 
        printf("\nZnak: %c\nCelaya chast: %d\nDrob': %d/%d",znak,celChast,chisl,znam);
    }
    getch();
    return 0;
    
}
Добавлено через 19 минут
не без ошибок? Тут всего пару строк правильные. И те не то делают, что надо.

Цитата Сообщение от Revol'veR Посмотреть сообщение
Знаю что не без ошибок. Пусть меня поправят знающие.
И вообще оно на С++ написано
1
23 / 23 / 4
Регистрация: 05.11.2010
Сообщений: 134
24.10.2011, 23:15 4
Цитата Сообщение от Riderik Посмотреть сообщение
И вообще оно на С++ написано
Я на нём и тренируюсь. А с данным циклом на С++ не было тренировки. Данный цикл приходилось пользоваться только на процедурном языке программирования. А здесь пока что путаюсь.
PS:Ой. Просмотрели. Не углядели что именно С здесь нужен. да простят меня модераторы. Но не ошибается тот, кто ничего не делает.
0
aelz
25.10.2011, 01:58 5
Спасибо большое, народ! Напишу алгоритм, разберусь в самом коде и можно высылать работу !
25.10.2011, 01:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2011, 01:58
Помогаю со студенческими работами здесь

Программа которая запрашивает числитель и знаменатель правильной дроби и выделяет целую часть
Cоставьте программу которая запрашивает числитель и знаменатель правильной дроби и выделяет целую...

Даны две простые дроби числитель первой А, знаменатель В, числитель второй дроби С, знаменатель D.
Даны две простые дроби числитель первой А, знаменатель В, числитель второй дроби С, знаменатель D....

Калькулятор обыкновенных дробей C#( Целая часть , Числитель, Знаменатель)
Вообщем,суть , нужно дописать, всевозможные вероятности(условий) , умножения и деления. &lt;Window...

Почленно поделить числитель на знаменатель
Как так получилось?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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