Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Orient1893
1 / 1 / 1
Регистрация: 11.05.2015
Сообщений: 35
#1

Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его - C++

26.05.2015, 21:48. Просмотров 1200. Ответов 8
Метки нет (Все метки)

Подскажите пожалуйста или правильно я написал решения,а то всё работает,но мне кажется, что где-то затупил)


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
/*
Дано целое число. Если оно является положительным, то прибавить к 
нему 1; в противном случае не изменять его. Вывести полученное число.
*/
 
#include <conio.h>
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int a,a1;
 
    cout << "Введите число: ";
    cin >> a;
 
    if (a > 0) //если число положительное 
    {
        a1 = a + 1; //то + 1
        cout << "Ваше число:  " << a1;
        cin >> a;
        _getch();
    }
    
    cout << "Введите число: " << a;
    
    _getch(); 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2015, 21:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его (C++):

Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число
Дано целое число. Если оно является положительным, то прибавить к нему 1; в...

Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2
Дано целое число. Если оно является положительным, то прибавить к нему 1; в...

Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него
Когда ввожу положительное число,всё работает, ввожу отрицательное к примеру...

Дано целое число.Если оно является положительным,то прибавить к нему 1;если отрицательное,то вычесть из него 2
Дано целое число.Если оно является положительным,то прибавить к нему 1;если...

Дано целое число. Если оно является нечетным положительным, то прибавить к нему 1, если отрицательным, то вычесть 2, если нулевым, то заменить на 10
Дано целое число. Если оно является нечетным положительным, то прибавить к нему...

Условный оператор: если число является положительным, то прибавить к нему 1; иначе не изменять его
Условный оператор: Дано целое число. Если оно является положительным, то...

8
Melvil
48 / 47 / 26
Регистрация: 20.05.2015
Сообщений: 251
26.05.2015, 22:21 #2
Лучший ответ Сообщение было отмечено Orient1893 как решение

Решение

Не понимаю, к чему такие сложности ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main()
{
    int a;
    cin >> a;
    if (a > 0)
        cout << a + 1 << endl;
    else
        cout << a << endl;
}
Хотя, наверняка можно ещё легче.
1
Dimension
Dimension
573 / 442 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
26.05.2015, 22:35 #3
Лучший ответ Сообщение было отмечено Orient1893 как решение

Решение

Цитата Сообщение от Melvil Посмотреть сообщение
можно ещё легче.
C++
1
cout << (a > 0 ? a + 1 : a);
1
Orient1893
1 / 1 / 1
Регистрация: 11.05.2015
Сообщений: 35
26.05.2015, 22:38  [ТС] #4
Цитата Сообщение от Melvil Посмотреть сообщение
Не понимаю, к чему такие сложности ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main()
{
    int a;
    cin >> a;
    if (a > 0)
        cout << a + 1 << endl;
    else
        cout << a << endl;
}
Хотя, наверняка можно ещё легче.
ну да,действительно по проще)
а зачем эта библиотека?
Цитата Сообщение от Melvil Посмотреть сообщение
#include "stdafx.h"
Добавлено через 38 секунд
Цитата Сообщение от Dimension Посмотреть сообщение
C++
1
cout << (a > 0 ? a + 1 : a);
мне нужно именно через if
0
Melvil
48 / 47 / 26
Регистрация: 20.05.2015
Сообщений: 251
26.05.2015, 22:39 #5
Цитата Сообщение от Orient1893 Посмотреть сообщение
а зачем эта библиотека?
Визуал студио без неё не компилирует.

Цитата Сообщение от Orient1893 Посмотреть сообщение
мне нужно именно через if
Сокращенный вариант if, насколько я знаю.
0
Orient1893
1 / 1 / 1
Регистрация: 11.05.2015
Сообщений: 35
26.05.2015, 22:54  [ТС] #6
а какую функцию выполняет знак вопроса?
ну точки это выводят а без изменений,на сколько я понял

Цитата Сообщение от Dimension Посмотреть сообщение
1
cout << (a > 0 ? a + 1 : a);
0
mymedia
193 / 193 / 120
Регистрация: 27.05.2011
Сообщений: 544
26.05.2015, 23:10 #7
Orient1893, синтаксис тренарного оператора:
выражение1 ? выражение2 : выражение3
Семантика: вычисляется выражение1 и приводится к типу bool, если оно равно true, вычисляется выражение2 и его результат объявляется результатом работы тренарного оператора. Иначе, если выражение1 равно false, то вычисляется выражение3 и берётся его результат. Всегда вычисляется выражение1 и либо выражение2, либо выражение3. Типы выражения2 и выражения3 должны быть согласованы.
Приоритет у оператора один из самых низких, поэтому в выражении `cout << (a > 0 ? a + 1 : a)` требуются скобки

Добавлено через 2 минуты
Хочу отметить, что ? : — это не просто "сокращённый" if, дело в том, что ? : можно использовать в таких местах, где нельзя запихнуть инструкцию if

Добавлено через 3 минуты
Таким образом, выражение `a > 0 ? a + 1 : a` вначале сравнивает `a > 0` и, если оно истино, то возвращает `a + 1`, иначе возвращает `a`.
1
Melvil
48 / 47 / 26
Регистрация: 20.05.2015
Сообщений: 251
26.05.2015, 23:20 #8
Цитата Сообщение от mymedia Посмотреть сообщение
Хочу отметить, что ? : — это не просто "сокращённый" if, дело в том, что ? : можно использовать в таких местах, где нельзя запихнуть инструкцию if
Добавлено через 3 минуты
Таким образом, выражение `a > 0 ? a + 1 : a` вначале сравнивает `a > 0` и, если оно истино, то возвращает `a + 1`, иначе возвращает `a`.
По вашим словам:
C++
1
2
3
4
if ( a > 0 )
cout << a + 1;
else
cout << a;
И где тут различие ?
0
mymedia
193 / 193 / 120
Регистрация: 27.05.2011
Сообщений: 544
26.05.2015, 23:30 #9
Например, ваш код не получится запихнуть сюда:
C++
1
2
3
while (a > 0 ? isdigit(ch) : b) {
    /* ... */
}
0
26.05.2015, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2015, 23:30
Привет! Вот еще темы с решениями:

Дано целое число N (> 1). Если оно является простым
Дано целое число N (&gt; 1). Если оно является простым, то есть не имеет...

While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
While. Дано целое число N (&gt; 0). Если оно является степенью числа 3, то вывести...

Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE.
Дано целое число N(&gt;0). Если оно является степенью числа 3, то вывести TRUE,...

Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение
Если целое число М делится на целое число N, то на экран выводится частное от...


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

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

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