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

маленькая ошибка в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать количество слов в тексте, которые начинаются с цифры http://www.cyberforum.ru/cpp-beginners/thread262511.html
Нужна программа, которая будет считать количество слов в тексте, которые начинаются с цифры... Я пробивал написать, но получилось, что программа щитала количество всех цифр в тексте.
C++ Запрос файла и перемещение слов. Помогите пожалуйста. Нужно сделать, чтобы программа запрашивала файл, откуда надо брать текст, потом меняла каждые два слова местами, и спрашивала в какой файл результат вывести. Я нашел на форуме много тем, где написано как слова менять местами, но плохо понимаю, как сделать запросы на ввод и вывод файлов. Добавлено через 5 часов 7 минут Ребят, вот код. Помогите решить ранее написанную... http://www.cyberforum.ru/cpp-beginners/thread262508.html
C++ Структуры, С++. Нужна небольшая подсказка
Вывод на консоль сформированной ведомости и выписки из ведомости для видов продукции, объем поставки которых в стоимостном выражении находится в интервале, границы которого вводятся с консоли. Записи ведомостей должны быть отсортированы по возрастанию объема поставки в стоимостном выражении. Непойму что неправильно когда делаю интервал объёма поставки! Когда нажимаю любой символ, то...
C++ Неполадка в окне Overview.
Здравствуйте, захотел поставить себе на компьютер visual studio 2008.Ну что... поставил, но не как не могу создать даже проект. Дело в том, что когда я задаю имя проекту и создаю его - появляется окно в котором ми должны указать общий вид и настройки( Application Settings), ну там где Emtry Project и т.д. Так вот проблема в том что оно открывается полу пустым и не реагирует на клики: При окне...
C++ Написать и протестировать функцию,подсчитывающую количество минимальных элементов в целочисленной матрице http://www.cyberforum.ru/cpp-beginners/thread262432.html
Написать и протестировать функцию,подсчитывающую количество минимальных элементов в целочисленной матрице
C++ составить вектор без нулевых элементов Дана матрица 00 12 00 00 34 00 65 00 71 95 00 69 00 58 00 00 63 00 Совтавить вектор без нулевых элементов. код на С. подробнее

Показать сообщение отдельно
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
23.03.2011, 15:48     маленькая ошибка в программе
Было бы хорошо, если бы вы сразу писали в чем проблема, а не просто "не могу исправить"

Также неверно у вас и Нод считается, ведь вы не учли что числа могут быть и отрицательны.

И можно было попроще написать, чем высчитывать, например, так:

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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include "stdafx.h"
#include <iostream>
using namespace std;
class Fraction
{
private:
    int Nod (int x, int y); // Нахождене наибольшего общего делителя
    int a, b; // числитель, знаминатель
public:
    Fraction(int x=0, int y=1)
    {
        a=x;
        b=y;
    }
    Fraction(Fraction& x) // Конструктор копирования
    {
        a=x.a;
        b=x.b;
    }
    void Read(); // Ввод дроби
    void Short(); // Сокращение дроби
    void Show(); // Метод вывода на экран
    Fraction operator+(Fraction& x);
    Fraction operator-(Fraction& x);
    Fraction operator/(Fraction& x);
    Fraction operator*(Fraction& x);
    bool operator>(Fraction& x);
    bool operator<(Fraction& x);
 
};
void Fraction::Show()
{
    if(a)cout << a << "/" << b << endl;
    else cout << "0" << endl;
}
void Fraction::Read()
{
    int x,y;
    cout << "Enter fraction\n" ;
    cout << "a = " ; cin >> x;
    cout << "b = " ; cin >> y;
    while(y==0)
    {
        cout << " b = " ; cin >> y;
    }
    a=x;b=y;
}
// Нахождене наибольшего общего делителя
int Fraction::Nod (int x, int y)
{
    if(x<0)return Nod(-x,y);
    if(y<0)return Nod(x,-y);
    while (x!=y)
    {
        if(x>y)
            if(x%y!=0)
                x=x%y;
            else x=y;
        else
            if (y%x!=0)
                y=y%x;
            else y=x;
    }
    return x;
}
void Fraction::Short()
{
    if(a==0)
        return;
    int n=Nod(a,b);
    a=a/n;
    b=b/n;
}
Fraction Fraction::operator+(Fraction& x)
{
    Fraction n;
    n.b=(b*x.b);
    n.a=a*n.b/b + x.a*n.b/x.b;
    n.Short();
    return n;
}
Fraction Fraction::operator-(Fraction& x)
{
    Fraction n;
    n.b=(b*x.b);
    n.a=a*n.b/b - x.a*n.b/x.b;
    n.Short();
    return n;    
}
Fraction Fraction::operator/(Fraction& x)
{
    Fraction n;
    n.b=b*x.a;
    n.a=a*x.b;
    n.Short();
    return n;    
}
Fraction Fraction::operator*(Fraction& x)
{
    Fraction n;
    n.b=b*x.b;
    n.a=a*x.a;
    n.Short();
    return n;    
}
 
bool Fraction::operator<(Fraction& x)
{
    return(x.a*b<x.b*a);   
}
bool Fraction::operator>(Fraction& x)
{
    return(x.a*b>x.b*a);   
}
int main()
{
    Fraction  F1, F2, F3; // создаю 3 дроби
    F1.Read(); // ввожу значения дроби 1
    F1.Short(); //привожу к несократимому виду
    cout << "F1: ";
    F1.Show(); // вывожу дробь
    F2.Read();
    F2.Short();
    cout << "F2: ";
    F2.Show();
    cout << "F1 + F2" << endl;
    F3 = F1 + F2;
    F3.Short();
    F3.Show();
    cout << "F1 - F2" << endl;
    F3 = F1 - F2;
    F3.Short();
    F3.Show();
    cout << "F1 / F2" << endl;
    F3 = F1 / F2;
    F3.Short();
    F3.Show();
    cout << "F1 * F2" << endl;
    F3 = F1 * F2;
    F3.Short();
    F3.Show();
    if (F1<F2){cout<<"F1<F2"<<endl;}
    else
    if (F1>F2){cout<<"F1>F2"<<endl;}
    else {cout<<"F1=F2"<<endl;}
    system("pause");
    return 0;
}
 
Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru