alarm
Задайте вопрос
Информатика
Yokazahn

напишите программный код, которая сокращает дробь 360/2940, )(не важно какой именно, хоть паскаль,хоть с++, не важно)даю 50 поинтов

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

Но я не уверена

Решение

C++Выделить код

#include "StdAfx. h"

#include <iostream>

#include <math. h>

#include <conio. h>

#include <stdio. h>

#include <windows. h>

using namespace std;

int gcd(int a, int b){

a = abs(a), b = abs(b);

if (b == 0)return a;

else return gcd(b, a%b);

}

void sokrdrob(int a, int b){

int x = gcd(a, b);

a /= x;

b /= x;

cout << a << " " << b;

}

class Rat

{

public: //общедоступные элементы

int x, y;

Rat() {}; // Конструктор по умолчанию

Rat(int x1, int y1=1): x(x1), y(y1) //конструктор

{

//if(y==0) y=1;

//if(y<0) {x=-x; y=-y;}

int sign = 1;

if (y==0) {printf("Некорректный параметр");

x = 0; y = 0; return;}

if (x==0) {x=0; y=1; return;}

else if (y<0) sign = sign;

if (x<0) sign = sign;

int a=abs(x), b=abs(y);

//x=sign*x; y=y;

while (a!=b){if (a>b) a-=b;

else b-=a;}

x/=a; y/=a;

x=sign*x;

}

~Rat() {} // Деструктор

Rat operator= (Rat r){Rat q(r. x, r. y); return q;}

friend Rat operator+(Rat, Rat); //перегрузка операции +

friend Rat operator-(Rat, Rat); //перегрузка операции -

friend Rat operator*(Rat, Rat); //перегрузка операции *

// Перегрузка оператора << для вывода в десятичной форме

friend ostream &operator<<(ostream &, Rat &);

};

// Перегрузка оператора << для вывода в десятичной форме

ostream &operator<<(ostream &v, Rat &w)

{

Rat q(w. x, w. y);

v << q. x<< "/" <<q. y;

return v;

}

Rat operator+(Rat v, Rat w) //перегрузим операцию сложения

{

v. x=v. x*w. y+w. x*v. y; //формируем числитель дроби

v. y=v. y*w. y; //формируем знаменатель дроби

Rat p(v. x,v. y);

return p;

}

Rat operator-(Rat v, Rat w) //перегрузим операцию вычитания

{

v. x=v. x*w. y-w. x*v. y; //числитель дроби

v. y=v. y*w. y; //знаменатель дроби

Rat p(v. x,v. y);

return p;

}

Rat operator*(Rat v, Rat w) //перегрузим операцию умножения

{

v. x=v. x*w. x;

v. y=v. y*w. y;

Rat p(v. x,v. y);

return p;

}

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

system("cls");

/*Rat p(2,4);

printf("p=(%d,%d)",p. x, p. y);*/

printf("Класс рациональных несократимых дробейn");

Rat v(1),w(1);

printf ("nВходные данные:nv = ");

scanf("%d/%d",&v. x, &v. y);

printf("w = ");

scanf("%d/%d",&w. x,&w. y);

//Проверка на несократимость

if(v. x%v. y!=0 && w. x%w. y!=0)

{

Rat t=v+w;

printf("nРезультат сложения v+w= ",t. x, t. y);

cout<<t;

Rat t1=v-w;

printf("nРезультат вычитания v-w= ",t1. x, t1. y);

cout<<t1;

Rat t2=v*w;

printf("nРезультат умножения v*w== ",t2. x, t2. y);

cout<<t2;

if(v. x<0) v. x*=-1;

if(v. y<0) v. y*=-1;

printf("nМодуль рационального числа аbs(v)= {%f}",(double)v. x / v. y); //модуль

}

else printf("nОшибка при вводе рационального числа");

getch();

}

331
Emely
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

Скорость первого автомобиля — V1

посчитайте задачу.Для кодировани

эссе на тему Цифравой Казахстан

Цифровизация, интенсивно вошедша

Дополните предложение. Модель -

Построить блок схему по коду#inc

Контакты
Реклама на сайте