Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/46: Рейтинг темы: голосов - 46, средняя оценка - 4.87
Osman
1 / 1 / 3
Регистрация: 07.10.2012
Сообщений: 16
1

Функция сравнения двух чисел

04.11.2012, 15:04. Просмотров 9025. Ответов 7
Метки нет (Все метки)

Проверьте кто-нибудь код пожалуйста.

Задача : Написать программу, выводящую на экран результат сравнения двух чисел в виде: A=10 B=5: A>B. Основная программа запрашивает два числа, передает их в функцию и в зависимости от возвращенного значения выводит сообщение. Функция возвращает 1 если A больше B, 0 если A равно B, -1 если A меньше B.
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
#include <iostream>
 
using namespace std;
 
 int Mycompare (int a, int b)
{
    if (a>b)
    {
        cout << "A = " << a << "\n";
        cout << "B = " << b << "\n";
        cout << "A > B " << "\n";
        return 1;
    }
 
    if (a<b)    {
        cout << "A = " << a << "\n";
        cout << "B = " << b << "\n";
        cout << "A < B \n" << "\n";
        return -1;
    }
 
    if (a == b)
        {
        cout << "A = " << a << "\n";
        cout << "B = " << b << "\n";
        cout << "A = B " << "\n";
        return 0;
        }
 
 
}
 
int main()
{    int A;
     int B;
    cout << "VVedite A: \n"; // Введите первое число
    cin >> A;
    cout << "Vvedite B: \n"; // Введите второе число
    cin >> B;
    Mycompare(A,B);
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 15:04
Ответы с готовыми решениями:

Функция сравнения двух строк
Написать функцию сравнения двух строк, используя указатели на них. Прошу помочь написать код...

Перегруженная функция сравнения двух дат
Как сократить функцию которая сравнивает две даты? Получилось кое-как, да и еще предупреждение...

Функция для сравнения двух массивов
Функция нужна для ответа на вопрос задачи &quot;Верно ли, что все элементы 1-ой последовательности ...

Функция для сравнения двух символьных последовательностей
С помощью поинтеров напишите функцию для сравнения двух символьных последовательностей ( без...

Объяснить код сравнения двух чисел без If
int cmp(int a, int b) { return (a &lt; b ? -1 : (a &gt; b ? 1 : 0)); } Это сравнение двух...

7
Catstail
Модератор
25223 / 12885 / 2386
Регистрация: 12.02.2012
Сообщений: 21,017
04.11.2012, 15:36 2
Все хорошо... А пусть C++ проверит. Запусти и убедись!
0
hoob
20 / 12 / 5
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
04.11.2012, 16:10 3
Я бы сделал эту функцию void, т.е той, которая после своего выполнения ничего не возвращает. Что бы упростить код, можно в функции вынести вывод чисел А и В за условный оператор. Получилось как-то так:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Mycompare (int a, int b)
{
    cout << "A = " << a << "\n";
    cout << "B = " << b << "\n";
 
    if (a>b)
        cout << "A > B " << "\n";
 
    if (a<b)
        cout << "A < B \n" << "\n";
 
    if (a == b)
        cout << "A = B " << "\n";
 
 
}
0
Afflicted
Обитатель форума
199 / 182 / 54
Регистрация: 28.10.2012
Сообщений: 543
04.11.2012, 16:18 4
Цитата Сообщение от Osman Посмотреть сообщение
Функция возвращает 1 если A больше B, 0 если A равно B, -1 если A меньше B.
hoob, воидная ф-ция тут не нужна, читайте внимательнее первый пост.
0
04.11.2012, 16:18
Croessmah
++Ͻ
15958 / 9068 / 1746
Регистрация: 27.09.2012
Сообщений: 22,316
Записей в блоге: 2
Завершенные тесты: 2
04.11.2012, 16:21 5
Цитата Сообщение от Catstail Посмотреть сообщение
Все хорошо... А пусть C++ проверит. Запусти и убедись!
Не совсем.
Цитата Сообщение от Osman Посмотреть сообщение
Основная программа запрашивает два числа, передает их в функцию и в зависимости от возвращенного значения выводит сообщение.
У Вас функция Mycompare выводит сообщения, а должна только сравнивать числа и возвращать необходимое значение. А выводом результата на экран должна заниматься функция main
1
hoob
20 / 12 / 5
Регистрация: 04.11.2012
Сообщений: 89
Записей в блоге: 1
04.11.2012, 16:35 6
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
int Mycompare (int a, int b)
{
    cout << "A = " << a << "\n";
    cout << "B = " << b << "\n";
 
    if (a>b) 
         return 1;       
 
    if (a<b) 
         return -1;
 
    if (a == b) 
         return 0;
 }
int main()
{   
    int A,B,res;
    cout << "VVedite A: " << endl; // Введите первое число
    cin >> A;
    cout << "Vvedite B: " << endl; // Введите второе число
    cin >> B;
    res=Mycompare(A,B);
    if (res==1)
        cout << "A>B" << endl;
    if (res==-1)
        cout << "A<B" << endl;
    if (res==0)
        cout << "A=B" << endl;
}
0
Osman
1 / 1 / 3
Регистрация: 07.10.2012
Сообщений: 16
04.11.2012, 16:48  [ТС] 7
спасибо всем
0
Джек
6 / 6 / 2
Регистрация: 16.08.2011
Сообщений: 77
04.11.2012, 17:02 8
Можно так.

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>


//---------------------------------------------------------------------------

#pragma argsused
int MyCompare( int ,int );
int main()
{
int x=0;
int y=0;
cout<<"vvedite vashi danie:\n";
cin>>x>>y;

while(x!=00&&y!=00)
{
cout<<MyCompare(x,y);
cout<<endl;
cin>>x>>y;
}

return 0;
}
int MyCompare( int a,int b)
{
if(a>b)
{
cout<<"a>b..."<<endl<<"a=";
return a;}
if(b>a)
{
cout<<"b>a..."<<endl<<"b=";
return b;
}
if(a==b)
{cout<<"a=b..."<<endl;
cout<<"a=";
return a;
cout<<"b=";
return b;};

}

//---------------------------------------------------------------------------

Добавлено через 3 минуты
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>


//---------------------------------------------------------------------------

#pragma argsused
int MyCompare( int ,int );
int main()
{
int x=0;
int y=0;
cout<<"vvedite vashi danie:\n";

while(cin>>x>>y)
{
cout<<MyCompare(x,y);
cout<<endl;
cin>>x>>y;
}

return 0;
}
int MyCompare( int a,int b)
{
if(a>b)
{
cout<<"a>b..."<<endl<<"a=";
return a;}
if(b>a)
{
cout<<"b>a..."<<endl<<"b=";
return b;
}
if(a==b)
{cout<<"a=b..."<<endl;
cout<<"a=";
return a;
cout<<"b=";
return b;};

}

//---------------------------------------------------------------------------
0
04.11.2012, 17:02
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 17:02

Длинная арифметика: операция сравнения двух чисел (A >= B)
Привет всем! помогите пожалуйста кодом. Необходимо реализовать операцию сравнения двух длинных...

Зацените программу сравнения двух чисел с помощью класса
#include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; class MyClass{ int x,y; public:...

Найти сумму двух чисел, полученных в результате сравнения чисел, полученных в результате вычисления выражений
Даны действительные числа a, b, c. Найти: max(a+b, b+c) + min(a+c, b)


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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