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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Grafon
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 19
#1

Все отрицательные среди данных числа заменить на 0 - C++

12.03.2014, 15:57. Просмотров 1584. Ответов 40
Метки нет (Все метки)

Даны четыре числа. Все отрицательные среди них числа заменить на 0
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 15:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Все отрицательные среди данных числа заменить на 0 (C++):

Заменить все отрицательные числа их модулями - C++
Помогите решить с использованием цикла While Ввести с клавиатуры 10 чисел – положительных и отрицательных. Заменить все...

Ввести с клавиатуры 10 чисел. Если среди них есть числа большие 15, заменить их на 15. Напечатать все полученные числа. - C++
Помогите решить задачу в Turdo C++, там где используется printf scanf: Ввести с клавиатуры 10 чисел. Если среди них есть числа большие...

Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа - C++
Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа.

Заменить в исходном файле все отрицательные числа на положительные и наоборот - C++
На экзамене попалась задачка, но решить ее до конца я так и не смог,за что поплатился низким баллом. Дан файл. Написать программу,...

Все отрицательные числа в массиве заменить минимальным значением элемента - C++
Есть массив из n-чисел. Все отрицательные числа в нем заменить минимальным значением элемента этого массива

Даны действительные числа. Заменить все отрицательные элементы их квадратами - C++
Я новичок в программировании, помогите. Даны действительные числа А1....,А18. Заменить все отрицательные элементы их квадратами и вывести...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
13.03.2014, 21:45 #31
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Остальные...ну я не знаю зачем они умножали)
ну так наверно, за тем же
0
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16697 / 6623 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
13.03.2014, 21:48 #32
Цитата Сообщение от Retyrn0 Посмотреть сообщение
ну я не знаю зачем они умножали)
для сокращения. Да и интереснее же.. Ну а по факту, результат проверки условия - целое число. Если честно, не знаю, как в плюсах (хотя cout условия выдает тоже число), но в си до последнего стандарта (вроде до последнего) вообще не было логических типов. 0 - ложь, отличные от 0 - истина. Если рассматривать с такой стороны, то добавлять явную проверку if, возможно, и не имеет смысла..
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
13.03.2014, 21:54 #33
Цитата Сообщение от KOPOJI Посмотреть сообщение
Если честно, не знаю, как в плюсах (хотя cout условия выдает тоже число), но в си до последнего стандарта (вроде до последнего) вообще не было логических типов. 0 - ложь, отличные от 0 - истина.
в плюсах появился тип bool который имеет два значения false и true

при приведению к int false=0 true=1
например вот такой код
C++
1
int m= !!k;
запишет в m 0 если k лежит 0
и 1 если в k отличное от нуля число
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
13.03.2014, 21:57 #34
Цитата Сообщение от KOPOJI Посмотреть сообщение
добавлять явную проверку if, возможно, и не имеет смысла
Действительно. Обсуждал тему замены условий и ветвлений в GP GPU - скорее всего там особенно выгодно пользоваться математикой вместо условий - архитектура не очень дружит с ветвлением кода по понятным причинам, а так вроде должен прирост скорости наблюдаться, в сравнении с ветвлениями.
Но достаточно не удобная и не понятная эта математическая подмена для большинства смертных)

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
ну так наверно, за тем же
Я не взялся отвечать за всех, в том числе за ТС, который написал
Цитата Сообщение от Richie_Bolat Посмотреть сообщение
if(a<0)
{ a=a*0;
0
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16697 / 6623 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
13.03.2014, 22:04 #35
Цитата Сообщение от ValeryS Посмотреть сообщение
в плюсах появился тип bool
да это я знаю, что он появился. В си тоже появился в C99.. Просто как-то не вдавался в подробности того, что именно будет в плюсах в результате условия - булево или же int. Но, к примеру, код
C++
1
std::cout << (1 < 1);
выдает 0, а не false. И, например, в яве или шарпе не получится написать нечто наподобие while(1), только выражения, результатом которых будет true/false или сами эти значения - они требуют четко "только boolean".. C/C++ в этом плане "помягче"

Добавлено через 2 минуты
другое дело - что там "под капотом": boolean или же int..) Проверять лень
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
13.03.2014, 22:09 #36
Цитата Сообщение от KOPOJI Посмотреть сообщение
выдает 0, а не false.
потому что приводится к int
Цитата Сообщение от KOPOJI Посмотреть сообщение
И, например, в яве или шарпе не получится написать нечто наподобие while(1), только выражения, результатом которых будет true/false или сами эти значения - они требуют четко "только boolean".. C/C++ в этом плане "помягче"
видать ужесточили и вот это
Цитата Сообщение от KOPOJI Посмотреть сообщение
x[i] *= x[i] >= 0;
уже не пройдет
Цитата Сообщение от KOPOJI Посмотреть сообщение
C/C++ в этом плане "помягче"
да он просто ближе к "железу"
а у процессора только нолики и единички

Добавлено через 2 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
другое дело - что там "под капотом": boolean или же int..) Проверять лень
по размеру тот же int
но компилятор его за int не считает
C++
1
2
3
4
5
bool k=false;
k++;
k++;
k++;
k--; //false
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
13.03.2014, 22:45 #37
Цитата Сообщение от ValeryS Посмотреть сообщение
по размеру тот же int
Разве? А мой компилятор по дурости выделяет всего 1 байт под bool ;-)

Добавлено через 3 минуты
Вообще для двух вариантов true и false хватит и одного бита, но комп. не знает ничего меньше байта - приходиться 7 лишних бит за собой таскать
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
13.03.2014, 23:12 #38
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Разве? А мой компилятор по дурости выделяет всего 1 байт под bool ;-)
теперь смотрим стандарт
[ Note: in particular, sizeof(bool) and sizeof(wchar_t) are implementation-defined.
—end note
sizeof(bool) is not required to be 1.
[Примечание: в частности, SizeOf (BOOL) и SizeOf (wchar_t) зависят от реализации. 74) -Конец примечания
SizeOf (BOOL) не требуется, чтобы быть 1.
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Вообще для двух вариантов true и false хватит и одного бита, но комп. не знает ничего меньше байта
компилятор Keil, тот что работает с микроконтроллерами, спокойно выделяет 1 бит
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 01:33 #39
Цитата Сообщение от ValeryS Посмотреть сообщение
что работает с микроконтроллерами
Ну я поэтому и говорил слово "комп.". В моей железяке памяти мнооого и адресовать каждый бит было бы накладно чисто с технической точки зрения ;-)
Цитата Сообщение от ValeryS Посмотреть сообщение
зависят от реализации
Не вижу ни одной причины добавлять ещё по 16 бит к остальным 7 болтающимся за единственным несущим информацию, но раз стандарт так говорит, то ладно. Мне просто повезло с выбором платформы, хотя адресация каждого бита - очень заманчивая штука, мне часто её не хватает. Может на днях разработают железки, которые смогут так делать, а иначе зачем жить =)

Добавлено через 1 минуту
64-битные адреса уже пользуют, может совершат 8-ми кратную детализацию памяти...
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,847
14.03.2014, 07:03 #40
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Не вижу ни одной причины добавлять ещё по 16 бит к остальным 7 болтающимся за единственным несущим информацию,
ну вот тебе одна из них
выравнивание памяти, процессору удобней работать с адресами кратными 2 / 4 чем с каждым байтом

Добавлено через 7 минут
Цитата Сообщение от Retyrn0 Посмотреть сообщение
хотя адресация каждого бита - очень заманчивая штука, мне часто её не хватает.
ну адресация,не адресация, а работать с битами можно, посмотри "битовые поля"
http://www.c-cpp.ru/books/bitovye-polya
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
14.03.2014, 12:57 #41
Цитата Сообщение от ValeryS Посмотреть сообщение
посмотри "битовые поля"
О, КЭП, я так скучал)
Я говорю, что мне их не хватает, а не что без них невозможно реализовать желаемое)

Добавлено через 3 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
выравнивание памяти, процессору удобней работать с адресами кратными 2 / 4 чем с каждым байтом
Поясните? Не совсем понял что за неудобство?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 12:57
Привет! Вот еще темы с ответами:

Одномерный массив. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество - C++
Дана последовательность из М чисел. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество

Одномерный массив. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество - C++
Дана последовательность из М чисел. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество.

Найти минимум в массиве и заменить все отрицательные чётные числа на его значение - C++
Ребята, посмотрите пожалуйста в чем не доработка или ошибка Судя по условию, нечетные числа все равно отрабатывает, к if-у и else уже...

Найти минимум в массиве и заменить все отрицательные чётные числа на его значение - C++
Ребята, посмотрите пожалуйста в чем не доработка или ошибка Судя по условию, нечетные числа все равно отрабатывает, к if-у и else уже...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.03.2014, 12:57
Ответ Создать тему
Опции темы

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