Форум программистов, компьютерный форум CyberForum.ru

Вывод числа,через дробь - C++

Восстановить пароль Регистрация
 
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
14.04.2014, 23:51     Вывод числа,через дробь #1
Вот у меня такая задача:
Написать программу вычисления суммы 1+1/2+1/3+...+1/n для заданного числа n. Результат представить в виде несократимой дроби p/q (p, q — натуральные).Решить задачу с помощью функции.
Нашел ответ,сделан на паскале,но без помощи процедур.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program nom11;
var p, q, n, i: integer;
begin
write('n=');
readln(n);
p:=1;
q:=1;
for i:=2 to n do
 begin
   p:=p*i+q;
   q:=i*q;
 end;
write('Summa=',p,'/',q);
readln
end.
Попробовал перевести,но я не пойму как вернуть вот эту строчку
C++
1
cout << p << "/" << q;
Вот сама программа:
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
#include <iostream>
using namespace std;
int sum(int n);
 
int main()
{
    int n;
    cout << "Enter n:", cin >> n;
    cout << "Sum = " << sum(n) << endl;
    system("pause");
}
 
int sum(int n)
{
    int p, q;
    p = 1; q = 1;
    for (int i = 2; i <= n; i++)
    {
        p *= i + q;
        q = i*p;
    }
    return p / q;
       // Но нужно что бы оно не считало,а выводило дробью
}
И кстати,правильная ли вообще программа,которая была изначально?)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
14.04.2014, 23:59     Вывод числа,через дробь #2
Хотите, чтобы возвращались p, q соорудите функцию с возвратом параметров:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
int n, p = 1, q = 1; //начальные значения
//....
void sum(n, p, q);
cout << p << "/" << q;
//....
}
 
void sum(int n, int &p, int &q)
{ for (int i = 2; i <= n; i++)
    {
        p *= i + q;
        q = i*p;
    }
}
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
15.04.2014, 00:21  [ТС]     Вывод числа,через дробь #3
Цитата Сообщение от IrineK Посмотреть сообщение
Хотите, чтобы возвращались p, q соорудите функцию с возвратом параметров:
...,не совсем пойму что сделать,точнее,что возвращать из функции void sum ?
IrineK
Заблокирован
15.04.2014, 00:23     Вывод числа,через дробь #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
void sum(int n, int &p, int &q);
 
int main()
{
    int n, p = 1, q = 1;
    cout << "Enter n:", cin >> n;
    sum(n, p, q);
cout << p << "/" << q;
    system("pause");
}
 
 
void sum(int n, int &p, int &q)
{ for (int i = 2; i <= n; i++)
    {
        p *= i + q;
        q = i*p;
    }
}
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
15.04.2014, 00:32  [ТС]     Вывод числа,через дробь #5
Примерно так и пробовал.
но не компилируется:
исходный код.cpp(9): error C2660: sum: функция не принимает 3 аргументов
IrineK
Заблокирован
15.04.2014, 00:36     Вывод числа,через дробь #6
Вы вот все скопируйте и запустите.
OldFile
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 15
15.04.2014, 00:47  [ТС]     Вывод числа,через дробь #7
Цитата Сообщение от IrineK Посмотреть сообщение
Вы вот все скопируйте и запустите.
Хм..да я так и сделал.Ошибка та же.
Миниатюры
Вывод числа,через дробь  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 00:51     Вывод числа,через дробь
Еще ссылки по теме:

Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN() C++
Сократить дробь, т е найти такие натуральные числа p и q , не имеющий общий делитель C++
C++ Вывод всех цифр введенного пользователем числа через пробел в обратном порядке

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
15.04.2014, 00:51     Вывод числа,через дробь #8
В третьей строке наверху пишем

void sum(int n, int &p, int &q);

И будет вам счастье.
Yandex
Объявления
15.04.2014, 00:51     Вывод числа,через дробь
Ответ Создать тему
Опции темы

Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru