помогите исправить ошибки в задаче на С++

Ответить
pymba
Сообщения: 25
Зарегистрирован: 07 дек 2008, 11:25

Тема лин. и разв алгоритмы
Задана точка с координатами (x, y). Определить, на какой оси или в каком квадранте она находится
#include<iostream.h>
#include<math.h>
#include<conio.h>
void main()
{
clrscr();
int a,x,y;
int i,m;
cout<<"Vvedite koordinati:\n";
cin>>x>>y;
if(x>0,y>0){m=a;cout<<"legit v 1 chetverti"<<endl;}
if(x<0,y<0){m=a;cout<<"legit v 3 chetverti"<<endl;}
if(x<0,y>0){m=a;cout<<"legit vo 2 chetverti"<<endl;}
if(x>0,y<0){m=a;cout<<"legit v 4 chetverti"<<endl;}
if(x=i,y=0){m=a;cout<<"legit na osi ox"<<endl;}
if(x=0,y=i){m=a;cout<<"legit na osi oy"<<endl;}
cout<<"m"<<m;
getch();
}
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

&quot писал(а):Тема лин. и разв алгоритмы
Исп. влож операт. if. Не пров. одно и то же усл. по неск. раз.

Код: Выделить всё

if (x=0) {
  if (y=0) {вцентре кооддинат} else {на оси X}
} else {
  if (y=0) {на оси Y} else {
    if (x>0) {
      if (y>0) {в первой четверти} else {в четвертой четверти}
    } else {
      if (y>0) {во второй четверти} else {в третьей четверти}
    }
  }
}
Что такое m и a так и не понял...
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Вам нужно совпадение обоих условий для каждого квадранта, например для первого - и x>0 и y>0, то есть условие должно быть таким: x>0 && y>0. У вас же, условие интерпретируется как "если одно из двух истинно".
pymba
Сообщения: 25
Зарегистрирован: 07 дек 2008, 11:25

спасибо,я уже решила.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

if(x=i,y=0){m=a;cout<<"legit na osi ox"<<endl;}
if(x=0,y=i){m=a;cout<<"legit na osi oy"<<endl;}
Это вообще ерунда, вряд ли можно надеяться, что введенная пользователем переменная совпадет с неинициированной - это раз. И два - знак сравнения в С++ - это "==", а "=" - это присвоение, как мне помнится.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить