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

Ошибки в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить количество слов, которые содержат ровно четыре буквы http://www.cyberforum.ru/cpp-beginners/thread763240.html
Помогите. Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно четыре буквы "о".
C++ Одномерный/двухмерный массив состоящий из елементов и заменить его елементы на 1)Задан одномерный массив состоящий из 12 элементов. Заменить единицами элементы массива, находящиеся после малейшего элемента 2) Задан линейный массив A. Составьте программу замены элементов... http://www.cyberforum.ru/cpp-beginners/thread763238.html
Бин. дер. поиска , рекурсия C++
Доброе утро. Решаю следующую задачу : определить является ли дерево симметричным относительно корня. Имею следующий код : case 13 : { bool a; a =...
Работа с лентами (Подсчитать количество слов оканчивающихся на букву о) C++
Строка содержит английский текст. Подсчитать количество слов оканчивающихся на букву о.
C++ Описать функцию F(a,n,p), определяющую, чередуются ли положительные и отрицательные элементы в массиве http://www.cyberforum.ru/cpp-beginners/thread763143.html
Программа. Описать функцию F(a,n,p), определяющую, чередуются ли положительные и отрицательные элементы в целочисленом массиве a из n элементов и вычисляющую целочисленное значение p. Если элементы...
C++ Найти три минимальных элемента в дереве и массиве (Доработать код) Ребята кто нибудь мог бы помочь с кодом на с++. Я написал прогу которая ищет 3 минимальных элемента в дереве и массиве. Если я в массиве задаю все отрицательные числа то прога вылетает. А вот... подробнее

Показать сообщение отдельно
yulla
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 59

Ошибки в программе - C++

16.01.2013, 12:08. Просмотров 513. Ответов 17
Метки (Все метки)

rational.h

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
#define _Rational_h_
#include <iostream>
 
using namespace std;
int nod(int p, int q) {
  if (p < 0) p = -p;
  if (q < 0) q = -q;  
  while (p != 0 && q != 0)
    if (p >= q)
      p %= q;
    else
      q %= p;
  return p + q;
}
 
class Rational {
 public:
  Rational() : numerator_(0), denominator_(1) {}
  Rational(int number) : numerator_(number), denominator_(1) {}
  Rational(int numerator, int denominator)
    : numerator_(numerator), denominator_(denominator) {
    optimize_();
  }
  int getNumerator() const { return numerator_; }
  int getDenominator() const { return denominator_; }
 private:
  void optimize_() {
    int nod_ = nod(numerator_, denominator_);
    numerator_ /= nod_;
    denominator_ /= nod_;
    if (denominator_ < 0) {
      numerator_ = -numerator_;
      denominator_ = -denominator_;
    }
  }
  int numerator_;
  int denominator_;
};
 
std::ostream &operator<<(std::ostream &stream, const Rational &number) {
  return stream << number.getNumerator() << "/" << number.getDenominator();
}
 
Rational operator+(const Rational &p, const Rational &q) {
  return Rational(p.getNumerator() * q.getDenominator() +
    q.getNumerator() * p.getDenominator(),
    p.getDenominator() * q.getDenominator());
    
}
 
Rational operator-(const Rational &p, const Rational &q) {
  return Rational(p.getNumerator() * q.getDenominator() -
    q.getNumerator() * p.getDenominator(),
    p.getDenominator() * q.getDenominator());
}
 
Rational operator*(const Rational &p, const Rational &q) {
  return Rational(p.getNumerator() * q.getNumerator(),
    p.getDenominator() * q.getDenominator());
}
 
Rational operator/(const Rational &p, const Rational &q) {
  return Rational(p.getNumerator() * q.getDenominator(),
    p.getDenominator() * q.getNumerator());
}
main.cpp

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
#include "rational.h"
#include <iostream>
 
using namespace std;
int main() 
{
setlocale(LC_ALL,"russian");
Rational p, q;
Rational x1(5);
Rational x2(2.3);
Rational x3(3);
Rational x4(1);
Rational x5(1.5);
cin >> p;
cin >> q;
  std::cout <<"-p = " << "-" << p << std::endl;
  std::cout <<"1/p = " << x4/p << std::endl;
  std::cout << "p + q = " << (p + q) << std::endl;
  std::cout << "p - q = " << (p - q) << std::endl;
  std::cout << "p * q = " << (p * q) << std::endl;
  std::cout << "p / q = " << (p / q) << std:: endl;
  std::cout << "(x1*p)+(x2*q) = " << (x1*p)+(x2*q) << std:: endl;  
  std::cout << "(x3+(p*q))/(p+(x4-q)) = " << (x3+(p*q))/(p+(x4-q)) << std:: endl;  
  std::cout << "x4/(p+(x5*q)) = " << x4/(p+(x5*q)) << std:: endl;  
system("pause");
}
ошибки

Код
1>c:\documents and settings\gnizdilo.us\мои документы\visual studio 2010\projects\zadacha 1.2\zadacha 1.2\main.cpp(10): warning C4244: аргумент: преобразование "double" в "int", возможна потеря данных
1>c:\documents and settings\gnizdilo.us\мои документы\visual studio 2010\projects\zadacha 1.2\zadacha 1.2\main.cpp(13): warning C4244: аргумент: преобразование "double" в "int", возможна потеря данных
1>c:\documents and settings\gnizdilo.us\мои документы\visual studio 2010\projects\zadacha 1.2\zadacha 1.2\main.cpp(14): error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)
1>          c:\program files\microsoft visual studio 10.0\vc\include\istream(1053): может быть "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char *)"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru