М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

#include class Rational
{
private:
int chisl, znam;
public:
Rational() { chisl = 0; znam = 0; }
Rational(int a, int b) { chisl = a; znam = b; }
void Mult(Rational x);
Rational operator*(const Rational& x);
void Write();
};
void Rational::Mult(Rational x)
{
chisl = chisl * x.chisl;
znam = znam * x.znam;
}
Rational Rational:: operator*(const Rational& x)
{
Rational result;
result.chisl = chisl * x.chisl;
result.znam = znam * x.znam;
return result;
}
void Rational::Write()
{
std::cout << chisl << "|" << znam << std::endl;
}

int main()
{
Rational n1(2, 3), n2(3, 2);
Rational n3 = n1 * n2;
n3.Write();
return 0;
}

В этом коде нужно передать результат операции умножения по значению.

👇
Ответ:
masha3231
masha3231
02.07.2021

Відповідь:

С++ code:

#include <iostream>

class Rational{

private:

int chisl, znam;

public:

Rational();

Rational(int, int);

Rational operator*(const Rational&);

friend std::ostream& operator << (std::ostream& out , const Rational& obj){

 out << obj.chisl << "|" << obj.znam << std::endl;

}

};

Rational::Rational(){

chisl = 0;

znam = 0;

}

Rational::Rational(int chisl,int znam){

this->chisl = chisl;

this->znam = znam;

}

Rational Rational:: operator*(const Rational& obj){

Rational result;

result.chisl = chisl * obj.chisl;

result.znam = znam * obj.znam;

return result;

}

int  main(){

Rational n1(2, 3), n2(3, 2);

Rational n3 = n1 * n2;

std::cout << n3 << std::endl;

return 0;

}

 

4,7(71 оценок)
Открыть все ответы
Ответ:
iraapukhtina7
iraapukhtina7
02.07.2021
Без проверки полагаем, что по заданным координатам точек можно построить треугольники.

//PascalABC.Net 3.0, сборка 1111
type
  Point=record
  x,y:double
  end;

function TriangleSquare(A,B,C:Point):double;
begin
  Result:=0.5*abs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))
end;

procedure GetPoint(c:char; var A:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Readln(A.x,A.y)
end;

var
  A:array['A'..'F'] of Point;
  i:'A'..'F';
  s1,s2:double;
begin
  for i:='A' to 'F' do GetPoint(i,A[i]);
  s1:=TriangleSquare(A['A'],A['B'],A['C']);
  s2:=TriangleSquare(A['D'],A['E'],A['F']);
  if s1>s2 then Writeln('Площадь первого треугольника больше')
  else
    if s2>s1 then Writeln('Площадь второго треугольника больше')
    else Writeln('Площади треугольников равны')
end.

Тестовое решение:
Введите координаты точки A: -4 3.7
Введите координаты точки B: -6.3 0
Введите координаты точки C: 10.2 5.93
Введите координаты точки D: 7.143 8.1
Введите координаты точки E: -6 -3
Введите координаты точки F: 7.4 -5.7
Площадь второго треугольника больше
4,8(90 оценок)
Ответ:
sofiya13031
sofiya13031
02.07.2021
Const heigth = 10
Const width = 10

Sub Ìàêðîñ1()
    Dim Sum(heigth - 1, width - 1)
    Dim Product(heigth - 1, width - 1)
    
    For i = 0 To heigth - 1
        For j = 0 To width - 1
            Sum(i, j) = i + j
            Product(i, j) = i * j
        Next j
    Next i
    
    Call Show(Sum, 0, 0)
    Call Show(Product, 0, 12)
End Sub

Sub Show(ByRef m, dx, dy)
    For i = 0 To heigth - 1
        For j = 0 To width - 1
            ActiveSheet.Cells(dx + i + 1, dy + j + 1).Value = Hex(m(i, j))
        Next j
    Next i
End Sub
4,6(7 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ