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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.81
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
#1

Программа для представления дроби в виде суммы различных дробей. - C++

20.09.2010, 18:28. Просмотров 5286. Ответов 16
Метки нет (Все метки)

Представить дробь p/q (0<p<q<16) в виде суммы различных дробей, числитель которых равен 1.
На С++ только начал программировать, поэтому даже не представляю как такое можно сделать в виде программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2010, 18:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа для представления дроби в виде суммы различных дробей. (C++):

Составить программу для нахождения суммы в виде несократимой дроби. - C++
Составить программу для нахождения суммы 1/2+2/3+1/4+...+1/n в виде несократимой дроби!!! Варианты с нечётными номерами необходимо...

Создать класс для представления простой дроби - C++
Создать класс для представления простой дроби. Реализовать конструкторы, функцию сокращения дроби, а также перегрузить операции +, -, *, /,...

Найти все представления натурального числа в виде суммы натуральных чисел - C++
Скласти програму, яка друкує всі різні представлення числа N у вигляді сум K натуральних чисел N, K-вводяться, ( Нужно решить эту задачу на...

Просчитать количество вариантов представления числа в виде суммы натуральных цифр 1, 2 и 3 - C++
Дано натуральное число N. Необходимо просчитать количество вариантов представления числа в виде суммы натуральных цифр 1, 2 и 3. К...

Найти количество способов представления заданного числа N в виде суммы степеней двойки - C++
Всем привет. Задача звучит так: Любое натуральное число можно представить в виде суммы натуральных слагаемых, каждое из которых...

Представление натурального N в виде суммы не менее двух попарно различных положительных слагаемых - C++
Я просто не понимаю что сделать нужно, может кто то объяснить? Задание: &quot; Подсчитайте количество различных представлений заданного...

16
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
20.09.2010, 18:32 #2
ну как мне кажется, это довольно просто
3/7= 1/7+1/7+1/7
просто p раз написать 1/q
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
20.09.2010, 18:34  [ТС] #3
Как математически это представить я понимаю, а вот как это организовать на языке С++ в виде программы даже не представляю...
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
20.09.2010, 18:46 #4
попробуй переделать программу из твоей предыдущей темы
тут можно
C++
1
for(int i=0;i<p;i++) cout<<"1/"<<q;
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
20.09.2010, 18:51  [ТС] #5
А я вот тут сам написал код, но опять же он не работает. Тоесть компилируется, но не выводить результат.
Посмотрите, пожалуйста:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
void main ()
{
    int p, q,i=0;
    cout<<"Vvedite p\n";
    cin>>p;
    cout<<"Vvedite q\n";
    cin>>q;
    while (i<p);
    {
        i++;
        cout<<"+1/"<<q;
    }
}
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
20.09.2010, 18:54 #6
м... консоль сразу закрывается после выполнения или что ?
0
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 18:54 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main ()
{
        int p, q,i=0;
        cout<<"Vvedite p\n";
        cin>>p;
        cout<<"Vvedite q\n";
        cin>>q;
        for (int i = 0; i < p; i++)
        {
                cout<<"+1/"<<q<< endl;
        }
        system("pause")
}
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
20.09.2010, 18:58  [ТС] #8
Нет, у меня появляются поля ввода, я ввожу p и q и все. Дальше ничего не происходит. Программа не закрывается, а просто ничего не делает.

Добавлено через 3 минуты
Цитата Сообщение от Asics^ Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main ()
{
        int p, q,i=0;
        cout<<"Vvedite p\n";
        cin>>p;
        cout<<"Vvedite q\n";
        cin>>q;
        for (int i = 0; i < p; i++)
        {
                cout<<"+1/"<<q<< endl;
        }
        system("pause")
}
Спасибо! Этот вариант работает, только нужно сделать i <= p. Но при выводе у меня сумма на разных строках, тоесть 1/6
1/6. А можно сделать на одной строке?

И попутно заметил еще один существенный баг: программа выводит максимум 4 слагаемых! А при p=5 их всего 3. Тоесть 1/9+1/9+1/9...
0
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 19:00 #9
dyap, Как то так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
        int p, q;
        cout<<"Vvedite p\n";
        cin>>p;
        cout<<"Vvedite q\n";
        cin>>q;
        for (int i = 0; i < p; i++)
        {
                cout<<"+1/"<<q;
        }
        getch();
}
1
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 14:47  [ТС] #10
Цитата Сообщение от Asics^ Посмотреть сообщение
dyap, Как то так ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
        int p, q;
        cout<<"Vvedite p\n";
        cin>>p;
        cout<<"Vvedite q\n";
        cin>>q;
        for (int i = 0; i < p; i++)
        {
                cout<<"+1/"<<q;
        }
        getch();
}
А вот так все работает корректно! Спасибо!!!

Добавлено через 19 часов 43 минуты
Вообщем предыдущие предложенные варианты не подходят! В условии сказано, что дроби должны быть различны (собственно поэтому и п и q меньше 16). Есть у кого-нибудь идеи?)
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.09.2010, 15:34 #11
dyap, мда, не тривиальная задачка, неужели никакого теоретического материала (не по программированию, по математике) не дали?
0
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 17:12  [ТС] #12
silent_1991,
Немного теории дали:
Типы данных и переменные, Числовые типы данных, Арифметические операции над числами, Форматированный ввод и вывод чисел, Логические операторы и операторы сравнения, Условные инструкции if и if-else, Инструкции цикла while и do-while, Инструкция цикла for, Инструкция выбора switch, Блоки, Стандартная библиотека математических функций.
Просто нам лектор попался неудачный, мало кто понимает, что он говорит. А на практике система еще хуже: 11 человек и препод начинает подходить по списку, спрашивать есть ли вопросы. А я в списке последний. 2 пары пытался спросить, так до меня и не дошло Хорошо хоть на этом форуме помогли.
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.09.2010, 17:15 #13
Я же уточнил - теорию не по программированию, а по математике. Задачка-то не простая, школьных знаний, по моему, не достаточно, это что-нибудь из теории чисел...
0
dyap
2 / 2 / 0
Регистрация: 20.09.2010
Сообщений: 58
21.09.2010, 17:17  [ТС] #14
Ой, сори. По математике мы сейчас совсем другое проходим. Так что теории нет...
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
21.09.2010, 17:19 #15
Просто по идее, когда даётся лаба по программированию, всегда идёт краткая теория, даже если надо найти площадь круга. А тут на тебе. Вывалили задачу и е... с ней как хочешь...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2010, 17:19
Привет! Вот еще темы с ответами:

Сокращение дробей, поиск наименьшей дроби - C++
пожалуйста напишите на С++, я туплю не могу обыкновенная дробь задается парой целых чисел p и q (дробь p/q). сократить эту дробь и...

Задача на масив.Ввод дробей и вычисление среднего значения дроби! - C++
#include &lt;iostream&gt; using namespace std; const int MAX=15; const int MAXI=13; int main() { int j,s,h,i,r; char...

Какая функция используется для представления времени в виде строки заданного формата? - C++
Какая функция используется для представления времени в виде строки заданного формата?

Программа должна выводить аналог целочисленной таблицы умножения для дробей - C++
Задача из учебника Р.Лафоре Доброго времени суток! Я изучаю С++ самостоятельно, по данному учебнику, столкнулся с задачей: Используйте...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
21.09.2010, 17:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru