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

C++ напишите функцю void reduce_fraction(int *n, int *m), которая сократит дробь , то есть изменит числа, которые лежат по указателям n и m таким образом, что значение дроби останется прежним, но она будет несократимой. после написания функции требуется решить , в которой вводятся натуральные числа a и b, после чего дробь сокращается, и выводится уже в сокращенном виде. формат входных данных вводятся два натуральных числа a и b, не превосходящие 100. формат выходных данных требуется вывести сокращенную дробь. примеры входные данные выходные данные 12 16 3 4

👇
Ответ:
garev064danil
garev064danil
21.05.2022
#include <iostream>
using namespace std;

int reduce_fraction(int n, int m)
{
if (m == 0) {
return n;
}
return reduce_fraction(m, n % m);
}

int main()
{
int num, dem;
cout << "Nominator: ";
cin >> num;
cout << "Denominator: ";
cin >> dem;
int nod = reduce_fraction(num, dem);
cout << num << '/' << dem << " => " << (num / nod) << '/' << (dem / nod) <<
endl;
return 0;
}
4,6(69 оценок)
Открыть все ответы
Ответ:
botiyava
botiyava
21.05.2022

Program msdos_2;
uses crt;
var
  a:array[1..3] of integer; //массив трёх максимальных элементов
  r,max,i,j: integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  r:=1;
  writeln('Введите ненулевое число');
  writeln('(или введите 0 для конца последовательности) ');
{вводим 3 первых элемента}

for i:=1 to 3 do
    begin
      write('Ввод:');  
      readln (r);
      a[i]:=r;
    end;
{сортируем массив из 3-х первых элементов}
  for i:=1 to 2 do
    begin
      max:=a[i];
      for j:=i+1 to 3 do
        if a[j]>max then
           max:=a[j];
      a[j]:=a[i];
      a[i]:=max;
    end;
{Продолжаем ввод и сравниваем текущее число с массивом из 3-х первых}
  while r<>0 do
    begin
      write('Ввод:');  
      readln (r);
      if r>a[1] then
          begin
            a[3]:=a[2];
            a[2]:=a[1];
            a[1]:=r;
          end
        else
          if r>a[2] then
              begin
                a[3]:=a[2];
                a[2]:=r;
              end
            else
              if r>a[3] then
                a[3]:=r;
    end;
{выводим 3 максимальных элемента}

  writeln();
  writeln('Три наибольших элемента массива:');
  for i:=1 to 3 do
    writeln(i,'-й: ',a[i]);
end.

4,6(53 оценок)
Ответ:
eliseevivan
eliseevivan
21.05.2022

#include <iostream>

#include <string>

using namespace std;

string fn(unsigned value, unsigned base) {

static string box;

if (!value) {

auto x = box;

box.clear();

return string(x.rbegin(), x.rend());

}

box += to_string(value % base);

value /= base;

return fn(value, base);

}

int main() {

unsigned base, value;

cin >> base >> value;

auto result = fn(value, base);

cout << value << "(10)=" << result << "("<< base << ")\n";

system("pause > nul");

}

Объяснение:

4,4(24 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ