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

Неоходимо закончить программу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ try-throw-catch http://www.cyberforum.ru/cpp-beginners/thread398785.html
#include <iostream> #include <math.h> using namespace std; class Drob { public: int obchuslennia (int a, int b);
C++ Объясните что означает '0' и '\0' и S[128] в задаче. #include "stdafx.h" #include <iostream> #include <cmath> #include<stdio.h> void F(long a, char *s) { int i, j, k, count = {0}; do{ count++; a /= 10; http://www.cyberforum.ru/cpp-beginners/thread398784.html
C++ Простенькая программка с "char"-ом
В общем надо сделать так чтобы можно было бы ввести определенную букву, а выводилось какое-то определённое слово. Скажите где у меня ошибка??? #include <stdio.h> #include <conio.h> int main (void) { char c; printf("\nVvedite pervyu bykby:"); switch (c) {
C++ обработка строки в c++!!!
1) Написать программу, которая обнуляет все согласные символы, расположенные между двумя гласными символами. Ввод строки с клавиатуры. 2) Написать программу, которая стирает в строке подстроку и обновленную строку выводит на экран, как одно целое. Ввод строки и подстроки сделать с клавиатуры. 3) Модернизировать программу так, чтобы аналогичное редактирование текста было произведено в файле,...
C++ Не работает функция по причине temp'a. Не знаю как исправить http://www.cyberforum.ru/cpp-beginners/thread398776.html
void Mass_Function_Replace(double massive, int n) { double temp; for(int i =0; i < n-1; i++) { if(abs(massive)>1) double temp; temp = massive; massive = massive; massive = temp;
C++ Создание шаблона функции Помогите, пожалуйста, написать шаблон функции. Вот задание: Общая задача 1. Разработать шаблоны функций, реализующих любые два из описанных ниже алгоритмов (по одному из частей 1 и 2). Применить разработанные функции к массивам (матрицам) типов short и float. В массиве A(n) каждый элемент ai, кроме крайних, заменить выражением а) a(i-1)+2a(i)+a(i+1), б) a(i-1)*a(i)*a(i+1), первый и... подробнее

Показать сообщение отдельно
Весна
7 / 7 / 3
Регистрация: 26.11.2010
Сообщений: 96

Неоходимо закончить программу - C++

05.12.2011, 14:26. Просмотров 453. Ответов 0
Метки (Все метки)

Всем здравствуйте!!!

Помогите мне закончить программу. Задание такое:

1. Определить пользовательский тип данных TFraction (дробь), представляющий собой класс, и сожержащий:
1.1 Защищёные поля: числитель (long m) и знаменатель (unsigned long n).
1.2 Открытое статическое поле bool AutoReduce, равное по умолчанию false.
1.3 Конструктор умолчания, задающий значение дроби равное 0 (m=0, n=1).
1.4 Параметрический конструктор, позволяющий задать значение дроби парой целых значений числителя и знаменателя.
1.5 Параметрический конструктор, позволяющий задать значение дроби целым числом (знаменатель при этом равен 1).
1.6 Константную встроенную функцию long getNumerator(), возвращающую значение числителя дроби.
1.7 Константную встроенную функцию unsigned long getDenominator(), возвращающую значение знаменателя дроби.
1.8 При спользовании Borland C++Builder функции п.1.6 и п.1.7 сделать закрытыми, а доступ к полям обеспечить с помощью свойств (property) N (числитель) и M (знаменатель).
1.9 Открытый метод void reduce(), производящий сокращение дроби. Функция должна вызываться автоматически при задании значения дроби, если поле AutoReduce содержит значение true. Если поле AutoReduce содержит значение false, для сокращения дроби необходимо вызывать функцию явно. Функцию вычисления НОД, используемую в reduce(), сделать статическим членом класса.

2. По возможности минимизировать количество необходимых конструкторов.

3. Создать перегруженный оператор +, возвращающий сокращённую сумму двух дробей:
TFraction operator + (const TFraction&, const TFraction&);
являющийся другом класса.

4. Выполнить приведённый ниже код при различных значениях поля AutoReduce.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
void main()
{
  TFraction::AutoReduce=true;
   TFraction f1,f2(2),f3(-3,9),f5;
   const TFraction f4(2,6);
   f5=f1+f2+f3+f4;
 
   cout << f1.M << '/' <<f1.N << endl;
   cout << f2.M << '/' <<f2.N << endl;
   cout << f3.M << '/' <<f3.N << endl;
   cout << f4.M << '/' <<f4.N << endl;
   cout << f5.M << '/' <<f5.N << endl;
}
5. Сравнить полученные результаты с прведёнными значениями при AutoReduce=false

0/1
2/1
-3/9
2/6
108/54

при AutoReduce=true
0/1
2/1
-1/3
1/3
2/1.

Вот чего я наработала:

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//---------------------------------------------------------------------------
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
 
 
class TFraction
{
private:
  long m;
  unsigned long n;
 
  long getNumerator()const ;
  unsigned long getDenominator() const;
 
public:
  static bool AutoReduce;
 
  __property long N = {read = getNumerator};
  __property unsigned long M = {read = getDenominator};
 
  TFraction ()
  {
    m=0;
    n=1;
  }
  TFraction (long m, unsigned long n)
  {
    this->m=m;
    this->n=n;
  }
  TFraction (long m)
  {
    this->m=m;
    n=1;
  }
 
static long nod (long a,long b)
{
a = abs(a); b = abs(b);
long n = a > b ? a : b;
if (a&&b)
{
while (a != b)
if (a > b)
a -= b;
else
b -= a;
n = a;
}
return n;
}
 
void reduce();
 
};
 
 
 
#pragma argsused
void main()
{
   TFraction::AutoReduce=true;
   TFraction f1,f2(2),f3(-3,9),f5;
   const TFraction f4(2,6);
   f5=f1+f2+f3+f4;
 
   cout << f1.M << '/' <<f1.N << endl;
   cout << f2.M << '/' <<f2.N << endl;
   cout << f3.M << '/' <<f3.N << endl;
   cout << f4.M << '/' <<f4.N << endl;
   cout << f5.M << '/' <<f5.N << endl;
 
    getch();
 
        return 0;
}
//---------------------------------------------------------------------------
Добавлено через 18 часов 55 минут
Обратите плиз внимание на мою скоромную просьбу!!!)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru