Страница 1 из 1

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

Добавлено: 15 дек 2008, 14:17
pymba
Тема лин. и разв алгоритмы
Задана точка с координатами (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();
}

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

Добавлено: 15 дек 2008, 14:58
Naeel Maqsudov
&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 так и не понял...

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

Добавлено: 15 дек 2008, 17:05
Albor
Вам нужно совпадение обоих условий для каждого квадранта, например для первого - и x>0 и y>0, то есть условие должно быть таким: x>0 && y>0. У вас же, условие интерпретируется как "если одно из двух истинно".

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

Добавлено: 15 дек 2008, 18:00
pymba
спасибо,я уже решила.

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

Добавлено: 16 дек 2008, 12:01
Хыиуду
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;}
Это вообще ерунда, вряд ли можно надеяться, что введенная пользователем переменная совпадет с неинициированной - это раз. И два - знак сравнения в С++ - это "==", а "=" - это присвоение, как мне помнится.