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

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

Восстановить пароль Регистрация
 
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 20:52     Даны действительные числа х и у #1
Даны действительные числа х и у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 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");
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 20:52     Даны действительные числа х и у
Посмотрите здесь:

Даны действительные числа а,b и с. C++
Даны действительные числа C++
Даны действительные числа x, y C++
Даны действительные числа S, T C++
Даны действительные числа на с++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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;
}
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 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;
}
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 21:37  [ТС]     Даны действительные числа х и у #4
О боже мой. Спасибо вам огромное, но я затупан =/ Не все условие что то вставилось. Капец. Вот все -

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

беда беда
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 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;
            }

Не по теме:

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

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

Добавлено через 55 секунд
V.A.L.I.D, спасибо, работает
gsm180
19 / 11 / 1
Регистрация: 19.10.2012
Сообщений: 100
Записей в блоге: 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;
}
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
01.11.2012, 22:10  [ТС]     Даны действительные числа х и у #8
Цитата Сообщение от gsm180 Посмотреть сообщение
Не понятно зачем тогда выполнять это условие.
такое задание, увы, я не знаю
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 22:25     Даны действительные числа х и у #9
Цитата Сообщение от dimoncheg Посмотреть сообщение
в остальных случаях х и у оставить без изменения.
Цитата Сообщение от gsm180 Посмотреть сообщение
Не понятно зачем тогда выполнять это условие.
в самой программе этого можно и не писать. это только в условии задачи для ясности, чтобы было понятно)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 22:25     Даны действительные числа х и у
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
gsm180
19 / 11 / 1
Регистрация: 19.10.2012
Сообщений: 100
Записей в блоге: 1
01.11.2012, 22:25     Даны действительные числа х и у #10
Просто такое впечатления, что условие недосказанное, вроде если так и так то без изменений, в противном случае то и то.
Yandex
Объявления
01.11.2012, 22:25     Даны действительные числа х и у
Ответ Создать тему
Опции темы

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