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

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

Войти
Регистрация
Восстановить пароль
 
Daniil95
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 8
#1

С++ не смог разобраться (тернарная операция) - C++

17.02.2013, 19:45. Просмотров 488. Ответов 6
Метки нет (Все метки)

Уважаемые программисты прошу помочь переделать 1 строку, предрались в училище и сказал что такого еще не проходили ( в общем расписать по другому строку count+=arr[i]?0:1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
 
     void main(){
    const int N=10;
    int arr[N];
    int count=0;
    for(int i=0;i<N;++i){
        cout<<"Enter arr["<<i<<"] -> ";
        cin>>arr[i];
        count+=arr[i]?0:1;
    }
cout<<"NULL: "<<count<<std::endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.02.2013, 19:47     С++ не смог разобраться (тернарная операция) #2
http://ru.wikipedia.org/wiki/%D0%A2%...86%D0%B8%D1%8F
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
17.02.2013, 19:50     С++ не смог разобраться (тернарная операция) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
 
 void main(){
 const int N=10;
 int arr[N];
 int count=0;
 for(int i=0;i<N;++i){
 cout<<"Enter arr["<<i<<"] -> ";
 cin>>arr[i];
 if (!arr[i])
 ++count;
 }
 cout<<"NULL: "<<count<<std::endl;
 }
avfed
14 / 12 / 2
Регистрация: 24.01.2013
Сообщений: 23
17.02.2013, 19:55     С++ не смог разобраться (тернарная операция) #4
наверное лучше arr[i]>0 под if'ом, а то смысл такой записи тоже могли пропустить
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
17.02.2013, 19:56     С++ не смог разобраться (тернарная операция) #5
так нужно ведь посчитать количество нулей
vua72
414 / 414 / 85
Регистрация: 28.11.2010
Сообщений: 1,175
Завершенные тесты: 1
17.02.2013, 20:02     С++ не смог разобраться (тернарная операция) #6
arr[i]?0:1,
arr[i]? эквивалентно if (arr[i]) или if (arr[i]>0). Т.о. ваша конструкция, когда условие выполняется, возвращает 0, в противном случае 1.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 20:13     С++ не смог разобраться (тернарная операция)
Еще ссылки по теме:

Загадка: Что делает функция? Тернарная система исчисления и логика C++
Тернарная условная операция C++
C++ Сколько бутылок содовой воды смог выпить Тим
Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода C++
C++ Тернарная операция. Пустое значение

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

Или воспользуйтесь поиском по форуму:
Somebody
2775 / 1589 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
17.02.2013, 20:13     С++ не смог разобраться (тернарная операция) #7
Только не "> 0", а "!= 0".
Yandex
Объявления
17.02.2013, 20:13     С++ не смог разобраться (тернарная операция)
Ответ Создать тему
Опции темы

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