0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
1

Структурный тип

12.03.2012, 18:42. Показов 840. Ответов 6
Метки нет (Все метки)

Заданы две дроби (числитель и знаменатель – поля структуры). Напишите функции вычисления сложения, вычитания, умножения и деления дробей. Каждая из перечисленных функций должна возвращать несократимую дробь, которая получается при выполнении соответствующей арифметической операции.
Работа программы должна происходить по следующей схеме: ввод числителя первой дроби, ввод знаменателя первой дроби, ввод знака арифметической операции, ввод числителя второй дроби, ввод знаменателя второй дроби, результат.
Например, вычисление выражения ⅜ + ⅔ на экране должно выглядеть следующим образом:
>3
>8
>+
>2
>3
25/24
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2012, 18:42
Ответы с готовыми решениями:

Определить структурный тип содержащий следующую информацию: ФИО мастера, вид фото, тип бумаги, кол-во, цена
Определить структурный тип содержащий следующую информацию: ФИО мастера, вид фото, тип бумаги,...

структурный тип
помогите сделать лабораторную работу по с++, пожалуйста. Определить структурный тип содержащий...

Структурный тип данных
Help! Сформировать массив, содержащий сведения о количестве изделий категорий A, B, C, собранных...

Определить структурный тип, содержащий информацию
определить структурный тип,содержащий следующую информацию: фио риелтора,тип квартиры,кол-во...

6
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
12.03.2012, 19:22 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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
struct fraction
{
    fraction(int _a = 1, int _b = 1) {a = _a; b = _b;}
    int a;
    int b;
};
 
void socr(fraction &a)
{
    for (int i = 2; i <= a.a; i++)
        if ((a.a % i == 0) && (a.b % i == 0))
        {
            a.a /= i;
            a.b /= i;
        }
}
 
void umn(fraction a, fraction b)
{
    fraction c(a.a*b.a, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void del(fraction a, fraction b)
{
    fraction c(a.a*b.b, a.b*b.a);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void pl(fraction a, fraction b)
{
    fraction c(a.a * b.b + b.a * a.b, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void min(fraction a, fraction b)
{
    fraction c(a.a * b.b - b.a * a.b, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
int main(int argc, char *argv[])
{
    fraction a, b;
    char c;
    cin >> a.a >> a.b >> c >> b.a >> b.b;
    socr(a);
    socr(b);
    cout << "result = " << endl;
    switch (c)
    {
        case '*': umn(a, b);
        break;
        case '/': del(a, b);
        break;
        case 43: 
            pl(a, b);
        break;
        case '-': min(a, b);
        break;
        default: cout << "Incorrect sign" << endl;
    }
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
1
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 19:40  [ТС] 3
если я не ошибаюсь, это уж точно не для начинающих!???

Добавлено через 1 минуту
_a - что это значит????
0
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
12.03.2012, 19:51 4
Цитата Сообщение от @Макси@ Посмотреть сообщение
_a - что это значит????
просто переменная.
Цитата Сообщение от @Макси@ Посмотреть сообщение
если я не ошибаюсь, это уж точно не для начинающих!???
Ну вы же попросили:
Цитата Сообщение от @Макси@ Посмотреть сообщение
Напишите функции вычисления сложения, вычитания, умножения и деления дробей.
Правда сокращение дробей я сделал немного по своему, но это поправимо. Кстати, единственный косяк, который я пока нашел, может вывести запись вида:
4/1, 6/1 и.т.д, просто добавьте условие в каждой функции.
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 19:54  [ТС] 5
но это ведь раздел С++ для начинающих! я тут многое не поняла
например a.a, я еще так никогда не писала
0
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
12.03.2012, 20:00 6
Цитата Сообщение от @Макси@ Посмотреть сообщение
например a.a, я еще так никогда не писала
Многое в этой жизни приходиться делать в первый раз. Вы написали надо реализовать программу со структурой. Вот я и реализовал:
C++
1
2
3
4
5
6
struct fraction
{
    fraction(int _a = 1, int _b = 1) {a = _a; b = _b;}  //конструктор
    int a;
    int b;
};
А потом просто создал переменную типа fraction
C++
1
2
fraction a;
cout << a.a; //получаем поле нашей переменной
с тем же успехом:
C++
1
2
fraction frac;
cout << frac.a;
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 20:05  [ТС] 7
спасибо большое я просто еще первокурсница
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2012, 20:05
Помогаю со студенческими работами здесь

Определить структурный тип, описывающий книги домашней библиотеки
Определить структурный тип, описывающий книги домашней библиотеки (автор, название книги,...

Структурный тип данных. Описать структуру с именем STUDENT
Пожалуйста, помогите написать программу: Описать структуру с именем STUDENT, содержащую следующие...

Определить комбинированный (структурный) тип для представления анкеты жителя
Определить комбинированный (структурный) тип для представления анкеты жителя, состоящей из его...

Определить комбинированный (структурный) тип для представления студенческой ведомости состоящей из 2х полей
Определить комбинированный (структурный) тип для представления студенческой ведомости состоящей из...


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

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

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