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

две задачки - C++

Восстановить пароль Регистрация
 
kalashOK
 Аватар для kalashOK
0 / 1 / 0
Регистрация: 21.03.2011
Сообщений: 30
03.10.2011, 16:47     две задачки #1
1. Дано целое число. Определить является ли оно четным.

2. Составьте программу, заменяющую меньшее из двух данных чисел модулем разности, а большее – модулем произведения этих чисел.


ЗАРАНЕЕ СПАСИБО
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
03.10.2011, 17:14     две задачки #2
1. проверка на четность: (n % 2) == 0
2.

C++
1
2
3
4
5
6
7
void func(int& a, int& b)
{
  int& min_ = (a < b) ? a : b;
  int& max_ = (a < b) ? b : a;
  min_ = abs(a - b);
  max_ = abs(a * b);
}
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
03.10.2011, 17:16     две задачки #3
Цитата Сообщение от kalashOK Посмотреть сообщение
. Дано целое число. Определить является ли оно четным.
C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
using namespace std;
int main ()
{
   int a;
   cout << "Enter numbers" << endl;
   cin >> a;
   if(a%2==0)cout << "even" << endl;
   cout << "odd" << endl;
   system("pause");
}
Цитата Сообщение от kalashOK Посмотреть сообщение
.2. Составьте программу, заменяющую меньшее из двух данных чисел модулем разности, а большее – модулем произведения этих чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<math.h>
using namespace std;
int main ()
{
   int a,b;
   cout << "Enter first numbers" << endl;
   cin >> a ;
   cout << "Enter second numbers" << endl;
   cin >> b;
   if(a>=b)cout << abs(a*b) << endl;
   cout << abs(a-b) << endl;
   system("pause");
}
-=ЮрА=-
Заблокирован
Автор FAQ
03.10.2011, 17:17     две задачки #4
gooseim,
Цитата Сообщение от gooseim Посмотреть сообщение
int& min_
- каков смысл такой записи???
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
03.10.2011, 17:19     две задачки #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
gooseim, - каков смысл такой записи???
Создаем ссылку на переменную.

Добавлено через 35 секунд
Если без &, то a и b нельзя ее будет изменить.
-=ЮрА=-
Заблокирован
Автор FAQ
03.10.2011, 17:29     две задачки #6
Цитата Сообщение от kalashOK Посмотреть сообщение
1. Дано целое число. Определить является ли оно четным.
2. Составьте программу, заменяющую меньшее из двух данных чисел модулем разности, а большее – модулем произведения этих чисел.
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
#include <iostream>
#include <conio.h>
using namespace std;
 
bool isOdditive(int val)
{
    return (val % 2 == 0);
}
 
int main()
{
    int a,b,buf;
    do
    {
        std::cout<<"Enter a :";std::cin>>a;
        std::cout<<"Enter b :";std::cin>>b;
        std::cout<<"a - ";
        if(!isOdditive(a))
            "not ";
        std::cout<<"odditive\r\n";
        std::cout<<"b - ";
        if(!isOdditive(b))
            "not ";
        std::cout<<"odditive\r\n";
        buf = abs(a*b);
        if(a < b)
        {
            std::cout<<"a < b\r\n";
            std::cout<<"a = "<<(a = abs(a - b))<<"\r\n";
            std::cout<<"b = "<<(b = buf)<<"\r\n";
        }
        else
        {
            std::cout<<"b < a\r\n";
            std::cout<<"a = "<<(a = buf)<<"\r\n";
            std::cout<<"b = "<<(b = abs(a - b))<<"\r\n";
        } 
        std::cout<<"Press Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
Миниатюры
две задачки  
-=ЮрА=-
Заблокирован
Автор FAQ
03.10.2011, 17:32     две задачки #7
Цитата Сообщение от gooseim Посмотреть сообщение
Если без &, то a и b нельзя ее будет изменить.
-
прошу прощения я понял экономию!
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
03.10.2011, 17:34     две задачки #8
-=ЮрА=-, у меня min_ ссылается на a или b.
При изменении min_ изменяется соответственно a или b.
Естественно, при записи
C++
1
int min_ = (a < b) ? a : b;
при изменении min_ a и b изменяться не будут.
-=ЮрА=-
Заблокирован
Автор FAQ
03.10.2011, 17:42     две задачки #9
Цитата Сообщение от gooseim Посмотреть сообщение
при изменении min_ a и b изменяться не будут.
- возможно вы не совсем поняли то что я на писал
C++
1
2
3
4
5
6
7
void func(int& a, int& b)
{
  int min_ = abs(a - b);
  int max_ = abs(a * b);
  a = min_;
  b = max_;
}
потом понял что ссылками также можно возврат сделать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2011, 17:55     две задачки
Еще ссылки по теме:

Две задачки C++
C++ Две задачки с первого курса бизнес - информатики)
C++ В две строчки записать две цифры, а потом по закрытии программы и повторном открытии прочитать каждое число в отдельную переменную?

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

Или воспользуйтесь поиском по форуму:
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
03.10.2011, 17:55     две задачки #10
-=ЮрА=-, я просто объяснял мою идею. Вы потом правильно поняли, что я хотел сэкономить.
Yandex
Объявления
03.10.2011, 17:55     две задачки
Ответ Создать тему
Опции темы

Текущее время: 23:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru