Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
1

Если x и y отрицательны, то каждое значение заменить его модулем

18.07.2011, 03:53. Показов 3467. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Никак не выходит решить задачу, укажите пожалуйста на ошибку.
Даны действительные числа x, y. Если x и y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0,5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях x и y оставить без изменения.
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
#include <stdio.h>
#include <locale.h>
#include <conio.h>
void main()
{
setlocale(LC_ALL,"russian");
 float x,y;
 printf("введи х\n");
 scanf("%f",&x);
 printf("введи у\n");
 scanf("%f",&y);
 if(x<0&&y<0)
 {
 x=x*(-1);
 y=y*(-1);
 printf("%1.2f,%1.2f\n",x,y);
 }
 if(x>0&&y<0||x<0&&y>0)
 {
 x=x+0.5;
 y=y+0.5;
 printf("%1.2f,%1.2f\n",x,y);
 }
 if(x>0.5&&x<2||y>0.5&&y<2)
 {
 x=x;
 y=y;
 printf("%1.2f,%1.2f\n",x,y);
 }
else
 {
 x=x/10;
 y=y/10;
 printf("%1.2f,%1.2f\n",x,y);
 }
 getch();
 }
После решения выводит сразу несколько ответов, но должен получаться один. Искал решение, но находит только паскаль.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2011, 03:53
Ответы с готовыми решениями:

Если x и y отрицательны, то каждое значение заменить его модулем
Здравствуйте, обращаюсь к Вам с просьбой впервые. Необходимо написать следующую программу на...

Если x, y отрицательны, то каждое значение заменить его модулем
Даны действительные числа x, y. Если x, y отрицательны, то каждое значение заменить его модулем;...

Если x и y отрицательны, то каждое значение заменить модулем
помогите найти ощибку в коде Даны действительные числа x, y. Если x и y отрицательны, то каждое...

Если x, y отрицательные, то каждое значение заменить его модулем
Дано действительные числа x, y. Если x, y отрицательные, то каждое значение заменить его модулем;...

8
Заблокирован
18.07.2011, 04:18 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
27
28
29
30
31
32
#include <stdio.h>
#include <locale.h>
#include <conio.h>
int main( ){
    setlocale(LC_ALL,"russian");
    
    float x,y;
    
    printf( "введи х\n" );
    scanf("%f",&x );
    printf( "введи у\n" );
    scanf("%f",&y);
    if( x < 0 && y < 0 ) {
        x *= -1 ;
        y *= -1;
        printf( "%1.2f,%1.2f\n", x, y );
    }
    else if( y < 0 || x < 0 ) {
        x=x+0.5;
        y=y+0.5;
        printf( "%1.2f,%1.2f\n",x, y );
    }
    else if( x > 0.5 && x < 2 || y > 0.5 && y < 2 )
        printf("%1.2f,%1.2f\n",x,y);
    else {
        x /= 10.;
        y /= 10.;
        printf( "%1.2f,%1.2f\n", x, y );
    }
    getch();
    return 0;
 }
так? - сравни условия
2
101 / 22 / 7
Регистрация: 10.11.2010
Сообщений: 208
18.07.2011, 04:30 3
Но ты везде прописал чтоб выводились оба оператора "х" и "у".

printf("%1.2f,%1.2f\n",x,y);

Что должно выводить?
0
Заблокирован
18.07.2011, 04:33 4
Цитата Сообщение от hoot Посмотреть сообщение
printf("%1.2f,%1.2f\n",x,y);
это должно выводить значения двух переменных через запятую, а в чем проблема? )
0
101 / 22 / 7
Регистрация: 10.11.2010
Сообщений: 208
18.07.2011, 04:35 5
Цитата Сообщение от rrrFer Посмотреть сообщение
это должно выводить значения двух переменных через запятую, а в чем проблема? )
Ну так оно и выводит два значения через запятую.
Он говорит что должно выводить какое-то одно значение.
0
Заблокирован
18.07.2011, 04:49 6
Цитата Сообщение от hoot Посмотреть сообщение
Ну так оно и выводит два значения через запятую.
Он говорит что должно выводить какое-то одно значение.
где он это говорит?
Если читать первый пост до просветления - то можно обнаружить, что "несколько ответов" != "несколько значений переменных через запятую".
При вводе -1 -1 его программа вывела бы ответы отсюда:
C++
1
2
3
4
5
6
if(x<0&&y<0)
 {
 x=x*(-1);
 y=y*(-1);
 printf("%1.2f,%1.2f\n",x,y);
 }
отсюда:
C++
1
2
3
4
5
6
if(x>0&&y<0||x<0&&y>0)
 {
 x=x+0.5;
 y=y+0.5;
 printf("%1.2f,%1.2f\n",x,y);
 }
ну и еще отсюда:
C++
1
2
3
4
5
6
else
 {
 x=x/10;
 y=y/10;
 printf("%1.2f,%1.2f\n",x,y);
 }
Явно не хватало операторов else, или return в ветках if, или...,или...(вобщем чего-то не хватало)
1
101 / 22 / 7
Регистрация: 10.11.2010
Сообщений: 208
18.07.2011, 13:11 7
Ну так а
C
1
 printf("%1.2f,%1.2f\n",x,y);
выводи же два числа(ответа), я правильно понимаю.
А я его понял, что должно выводить один ответ, но вот какой ХЗ.
0
Заблокирован
18.07.2011, 13:56 8
hoot,
2 числа - это один ответ.
1
0 / 0 / 0
Регистрация: 18.07.2011
Сообщений: 8
18.07.2011, 15:15  [ТС] 9
rrrFer, все правильно. Два числа - это один ответ. Ошибку понял
0
18.07.2011, 15:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2011, 15:15
Помогаю со студенческими работами здесь

Если А и В – отрицательные числа, то каждое значение заменить его модулем
Даны действительные числа А и В. Если А т В – отрицательные числа, то каждое значение заменить его...

Если х, у — отрицательны, то каждое значение заменить его модулем
Даны действительные числа х и у. Если х, у - отрицательны, то каждое значение заменить его модулем;...

Если x, y отрицательны, то каждое значение заменить его модулем
2.Даны действительные числа x, y. Если x, y отрицательны, то каждое значение заменить его модулем;...

Если x, y отрицательны, то каждое значение заменить его модулем
помогите не могу написать код... напишите программу пожалуйста... Даны действительные числа x, y....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru