Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/39: Рейтинг темы: голосов - 39, средняя оценка - 4.56
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841

Тернарная операция

14.01.2011, 02:18. Показов 7492. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Вот написал прогу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main(int argc, char** argv)
{
    string name;
    ofstream fout;
    if (argc > 1 && argv[1])
    {
        name = argv[1];
        fout.open(name.c_str(), ios::out | ios::app);
    }
    ostream& sout = name.empty() ? cout : fout;
    return 0;
}
Она показывает использование тернарной операции.
Но прога выдаёт ошибку на знаке вопроса в пердпоследней строке. Поправьте пожалуйста код.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2011, 02:18
Ответы с готовыми решениями:

Тернарная операция
(!(x%3))? x=x/3 : x=x%3; - верно? В условии мы проверяем делится ли x нацело на 3, не нужно ли сравнить значение с нулем? Первый раз...

Тернарная операция
Короче говоря вот код: char c = '+', p = '-', l = '*', u = '/'; cin &gt;&gt; x &gt;&gt; y; u ? cout &lt;&lt; x / y : cout &lt;&lt; 0; cin &gt;&gt; x...

Тернарная условная операция
Здравствуйте, только начал изучать C++, написал вот программу которая показывает в двоичном представлении цифры до 255: #include...

34
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:47
Студворк — интернет-сервис помощи студентам
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
43
44
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
// Аргументый функции main:
// argc - счётчик параметров командной строки
// (как минимум равен 1, поскольку первый аргумент - 
// всегда имя исполняемого файла)
// argv - массив строк, в каждой из которых хранится один параметр
//
// Пример: программа запущена из командной строки в виде:
// prog.exe arg1 arg2 arg3
// Тогда argc будет равен 4 (первый обязательный аргумент - имя
// запускаемого файла prog.exe и три дополнительных аргумента),
// а массив argv будет содержать 4 строки:
// argv[0] == "prog.exe",
// argv[1] == "arg1",
// argv[2] == "arg2",
// argv[3] == "arg3",
int main(int argc, char** argv)
{
    string name;   // Строковая переменная
    ofstream fout; // Выходной поток
 
    // Если в командной строке присутствовало больше одного аргумента
    // (имени файла) и второй аргумент не пустой
    if (argc > 1 && argv[1])
    {
        // Строку name инициализируем значением второго аргумента
        name = argv[1];
        // Связываем потом fout с файлом, имя которого было задано в 
        // качестве второго аргумента
        fout.open(name.c_str(), ios::out | ios::app);
    }
 
    // Если имя файла в качестве аргумента указано не было, связываем
    // поток sout со стандартным потоком вывода cout, иначе связывем его
    // с открытым ранее потоком fout
    ostream& sout = name.empty() ? cout : fout;
 
    return 0;
}
Если коротко, то мы можем запустить программу с параметром - именем файла, куда будем выводить данные. Если мы такое имя задали, то при последующем использовании sout данные будут выводиться не на консоль, а в указанный файл. Если же мы запустили программу без параметров, то вывод будет происходить на консоль.
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 12:18  [ТС]
Ладно можете не объяснять что да как, у кого компилируется первоначальный вариан программы, можете ехе файл скинуть на майл?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 12:21
DrSMERTb, вообще-то я уже объяснил, что да как. Посмотрите сообщение повыше вашего.
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 12:27  [ТС]
Извините, видно браузер затупил при обновление страницы.

Добавлено через 3 минуты
Большое спасибо. Но всё-таки не могли бы с файликом помочь, желательно не один исполняющий файл а полностью пакет файлов, которые создаются при компилирование. Заранее спасибо. Мой майл Andrev_pepel@mail.ru
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 12:29
Если не секрет, зачем вам это? Эта программа ничего не делает, вам её никак использовать не удастся.
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 12:33  [ТС]
)) Знаете я всё время писал на языке BASIС, нас ему в школе учили) В нём я за неделю написал примитивные шашки... Но поступив в институт пришлось обучаться СИ, а эта программа должна проиллюстрировать пример использования тернарной операции. Вот так вот.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 12:36
Ну вы и нашли пример... Вот вам простой и наглядный пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
    int a, b;
 
    std::cin >> a;
    std::cin >> b;
 
    std::cout << ((a - b == 0) ? "Equal" : "Not equal") << std::endl;
 
    return 0;
}
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 12:38  [ТС]
6 ошибок выдал)))
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 12:41
Текст ошибок.
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 12:50  [ТС]
Вот они все, только сейчас поменялось раньше было 2 вонин и 6 ошибок, ща наоборот.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 12:53
По-моему, вы снова попытались скомпилировать код с вики.
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 13:12  [ТС]
В общем. У вас судя по всему она откомпеилировалась. Поэтому просьба скиньте пожалуйста файл, а я завтра преподу текст проги покажу, и файл запущу покажу что всё работает, да и всё.

Добавлено через 8 минут
silent_1991, поймите мне просто надо сдать это и всё. причём нести сдавать уже завтра.. и это крайний срок.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 13:20
Пожалуйста.
Вложения
Тип файла: rar 1.rar (180.7 Кб, 15 просмотров)
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 13:44  [ТС]
Всё большое спасибо)
0
 Аватар для DrMaxSter
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 13
21.03.2011, 23:47
Доброго времени суток. Может быть кто-нибудь подскажет, как с помощью тернарной операции распечатать матрицу таблицей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2011, 23:47

Тернарная условная операция
Выражение1?Выражение2:Выражение3; Чем можно заменить Выражение3, чтобы ничего не выполнилось, а программа дальше стала работать? Как...

С++ не смог разобраться (тернарная операция)
Уважаемые программисты прошу помочь переделать 1 строку, предрались в училище и сказал что такого еще не проходили ( в общем ...

Тернарная операция. Пустое значение
Всем привет. Есть условие. Если проверка проходит, то переменной присваивается значение, если нет, то не присваивается. Можно...

Странно работает тернарная операция
Доброй ночи... if((i == 3)?(!(*BoolHash)):((*BoolHash))) cout &lt;&lt; &quot;\nError\n&quot;; else {// Выполнение функции} Если i = 1 или 2...

Условие с двоеточием. Тернарная условная операция
Все здрасьте. Где то я видел очень полезную вещь, но не могу вспомнить как правильно использовать. Там был пример с двоеточием, вот...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru