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

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

Войти
Регистрация
Восстановить пароль
 
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
#1

Даны действительные числа х и у - C++

01.11.2012, 20:52. Просмотров 1017. Ответов 9
Метки нет (Все метки)

Даны действительные числа х и у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ниодно из них не принадлежит отрезку [0.5, 2.0], то х и у оставить без изменения...

Вот такая вот программка. Буду очень благодарен если кто-то поможет мне с её решением.. Я тут с условием чего то намутил, иначе никак не встает.

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
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h:31>
#include <math.h>
 
int main () {
    
double x,y;
 
printf ("vvedi X:");
scanf ("\n%f", &x);
 
printf ("vvedi Y:");
scanf ("\n%f", &y);
 
if (x<0, y<0; x=abs(x), y=abs(y));
if ((x<0)||(y<0); x=x+0.5, y=y+0.5);
if (x>0, y>0, (0.5>x>2.0)||(0.5>y>2.0); x=x/10, y=y/10);
 
printf ("\n x=%f\n\n", x);
printf ("\n y=%f\n\n", y);
 
system ("pause");
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 20:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Даны действительные числа х и у (C++):

Даны действительные числа а,b и с. - C++
Даны действительные числа а,b и с. Удвоить эти числа, если a&gt;=b&gt;=c, и заменить их абсолютными значениями, если не так. Добавлено...

Даны действительные числа X и Y... - C++
Даны действительные числа X и Y, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее- их удвоенным...

Даны действительные числа - C++
Помогите пожалуйста, хоть чем то . Не успеваю со сроками Даны действительные числа a1...an. Получить квадратную матрицу порядка n: ...

Даны действительные числа на с++ - C++
Ребят помогите пожалуйста! Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где p(y) = a6 y6 + a5...

Даны действительные числа x, y - C++
Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости: Помогите...

Даны действительные числа a,b - C++

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
01.11.2012, 21:13 #2
Странное задание, если ни одно из условий не выполнено? Вот набросал посмотри
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
#include <iostream> 
#include <cmath> 
 
int main() 
{ 
    double x, y; 
    std::cout << "Inter first number " << std::endl; 
    std::cin >> x; 
    std::cout << "Inter second number " << std::endl; 
    std::cin >> y; 
 
    if( x < 0 && y < 0) 
    { 
        x = abs(x); 
        y = abs(y); 
    } 
    if( x < 0 || y < 0) 
    { 
        x = x + 0.5; 
        y = y + 0.5; 
    } 
    if( x > 0 && y > 0 &&  x > 2.0 && y > 2.0); 
 
    std::cout << "X " << x << std::endl; 
    std::cout << "y " << y << std::endl;
}
1
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 21:27 #3
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    double x, y;
 
    cout << "Введите х: ";  cin >> x;
    cout << "Введите y: ";  cin >> y;
 
    if (x<0 && y<0)
    {
        x = -x;
        y = -y;
    }
    else
        if (x<0 || y<0)
        {
            x = x + 0.5;
            y = y + 0.5;
        }
        else
            if ( x>=0 && y>=0 && (x<0.5 || x>2.0) && (y<0.5 || y>2.0) )
                ;
 
    cout << "x = " << x << endl;
    cout << "y = " << y << endl;
 
    system("pause");
    return 0;
}
1
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 21:37  [ТС] #4
О боже мой. Спасибо вам огромное, но я затупан =/ Не все условие что то вставилось. Капец. Вот все -

Даны действительные числа х и у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ниодно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях х и у оставить без изменения.

беда беда
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 21:57 #5
вот только один кусок из программы напишу где условия проверять. все остальное оставить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    if (x<0 && y<0)
    {
        x = -x;
        y = -y;
    }
    else
        if (x<0 || y<0)
        {
            x = x + 0.5;
            y = y + 0.5;
        }
        else
            if ( x>=0 && y>=0 && (x<0.5 || x>2.0) && (y<0.5 || y>2.0) )
            {
                x = x / 10;
                y = y / 10;
            }

Не по теме:

вроде бы правильно

0
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 22:00  [ТС] #6
хочу Вам выразить большую благодарность, особенно David Sylva, код которого я и взял за основу, только еще одно действие дописал. Спасибо, все работает!

Добавлено через 55 секунд
V.A.L.I.D, спасибо, работает
0
gsm180
20 / 12 / 1
Регистрация: 19.10.2012
Сообщений: 102
Записей в блоге: 1
01.11.2012, 22:01 #7
Цитата Сообщение от dimoncheg Посмотреть сообщение
если оба значения неотрицательны и ниодно из них не принадлежит отрезку [0.5, 2.0], то х и у оставить без изменения...
Не понятно зачем тогда выполнять это условие.
Код
#include<iostream>
using namespace std;
bool ret(float a);
void check_fun(float &a, float &b){
	if((a<0)&&(b<0)){
		a=-a;
	           b=-b;}
	else if((a<0)||(b<0)){
		a+=0.5;
		b+=0.5;}
	else if((a>0)&&(b>0)&&(!ret(a))&&(!ret(b)))
		return; //только не понятно зачем это условие в задаче, если x y  оставить без изменения
}

		bool ret(float a){
			if((a>0.5)&&(a<2.0))
				return true;
			else
				return false;}


int main()
{setlocale(0,"rus");
float x[2];
for(int i=0;i<2;i++){
cout<<"Введите "<<i+1<<" число"<<endl;
cin>>x[i];}
check_fun(x[0],x[1]);
cout<<"\n Числа после проверки равны "<<x[0]<<' '<<x[1]<<endl;

cin.get();
cin.get();

	return 0;
}
1
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 22:10  [ТС] #8
Цитата Сообщение от gsm180 Посмотреть сообщение
Не понятно зачем тогда выполнять это условие.
такое задание, увы, я не знаю
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 22:25 #9
Цитата Сообщение от dimoncheg Посмотреть сообщение
в остальных случаях х и у оставить без изменения.
Цитата Сообщение от gsm180 Посмотреть сообщение
Не понятно зачем тогда выполнять это условие.
в самой программе этого можно и не писать. это только в условии задачи для ясности, чтобы было понятно)
0
gsm180
20 / 12 / 1
Регистрация: 19.10.2012
Сообщений: 102
Записей в блоге: 1
01.11.2012, 22:25 #10
Просто такое впечатления, что условие недосказанное, вроде если так и так то без изменений, в противном случае то и то.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 22:25
Привет! Вот еще темы с ответами:

Даны действительные числа a1,…,an,b1,…,bn. - C++
Здравствуйте, пожалуйста помогите решить! Даны действительные числа a1,…,an,b1,…,bn. Вычислить: (a1 +bn )(a2 +b(n-1) )…(an+b1 ).

Даны действительные числа x, y - C++
Помогите пожалуйста. Даны действительные числа x, y. Если x и y отрицательные, то х присвоить значение удвоенного модуля х. Если...

Даны действительные числа S, T - C++
Помогите пожалуйста, вот задание: .Даны действительные числа S, T. Получить: N=F(T,-2*S,1.17)+F(2.2,T,S-T) где F(A,B,C)=A+B+C/A*B ...

Даны действительные числа - C++
1. Даны действительные числа x, y, z Вычислить: а)max(x+y+z, xyz) б)min^2(x+y+z/2,xyz)+1 2) даны x,y,z. вычислить a,b если ...


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

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

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