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

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

Войти
Регистрация
Восстановить пароль
 
АББА
 Аватар для АББА
130 / 60 / 7
Регистрация: 08.11.2012
Сообщений: 250
#1

Есть ли короткий путь решения задачи? - C++

07.09.2013, 13:22. Просмотров 292. Ответов 5
Метки нет (Все метки)

Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.
Есть ли ещё более короткий путь решения задачи?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{   
    double a,b,c,x,y,z;
    cout<<"a,b,c=\n"; cin>>a>>b>>c;
    
    x=a>0?a*a:a;
    y=b>0?b*b:b;
    z=c>0?c*c:c;
    
    cout<<"a,b,c="<<x<<","<<y<<","<<z<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 13:22     Есть ли короткий путь решения задачи?
Посмотрите здесь:

Нужно создать программу отыскивающею короткий путь по лабиринту в двумерном массиве C++
C++ Подскажите алгоритм решения задачи
C++ Короткий путь к файлу
C++ Проверьте правильность решения задачи
C++ Не могу понять решения задачи
C++ Алгоритм решения задачи
Алгоритм решения олимпиадной задачи C++
Написать программу на С/С++ решения задачи: C++
Проблемы с алгоритмом решения задачи C++
Нужен совет для решения задачи C++
C++ не знаю решения задачи в c ++
C++ Алгоритм решения задачи

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
07.09.2013, 15:05     Есть ли короткий путь решения задачи? #2
C++
1
2
3
4
5
6
7
8
9
#include<iostream>
 
int main() {
    double a, b, c;
    std::cin >> a >> b >> c;
    std::cout << (a > 0 ? a * a : a) << ' ' << (b > 0 ? b * b : b) << ' ' << (c > 0 ? c * c : c) << std::endl;
 
    return 0;
}
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
07.09.2013, 15:18     Есть ли короткий путь решения задачи? #3
Belfegor,
не увидел разницу

АББА,
C++
1
2
3
x=pow(a,(a>0)+1);
y=pow(b,(b>0)+1);
z=pow(c,(c>0)+1);
АББА
 Аватар для АББА
130 / 60 / 7
Регистрация: 08.11.2012
Сообщений: 250
07.09.2013, 15:24  [ТС]     Есть ли короткий путь решения задачи? #4
ValeryS, Длина такая же, но метод хорош.
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
07.09.2013, 15:26     Есть ли короткий путь решения задачи? #5
без pow
C++
1
2
3
x=a*(1*(a<=0)+a*(a>0));
y=b*(1*(b<=0)+b*(b>0));
z=c*(1*(c<=0)+c*(c>0));
нет функций нет ветвлений, короче не знаю,быстрее да

Добавлено через 2 минуты
Цитата Сообщение от АББА Посмотреть сообщение
Длина такая же, но метод хорош.
тебе нужно короче в записи?
это не ко мне, всегда пытаюсь писать понятно,даже ценой увеличения в листинге
или короче код?
второй должен быть меньше
АББА
 Аватар для АББА
130 / 60 / 7
Регистрация: 08.11.2012
Сообщений: 250
07.09.2013, 15:30  [ТС]     Есть ли короткий путь решения задачи? #6
Мне нужен короткий код.
Yandex
Объявления
07.09.2013, 15:30     Есть ли короткий путь решения задачи?
Ответ Создать тему
Опции темы

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