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

Элементарные программы, для лучшего понимания языка... - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.68
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 20:56     Элементарные программы, для лучшего понимания языка... #1
Здравствуйте. Вот сегодня решил что пора изучать с++. Есть пару задач. Начал решать и уже на первой запоролся( суть в том чтобы определить попадает ли точка в заштрихованную облась....

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int x, y;
    cout << ("введите координаты точки");
    if ((x^2+y^2<1) && (y>1-x) & (y>1+x) && (y<-1-x) && (y<-1+x) then cout << ("принадлежит")); else cout << ("не принадлежит");
 
    return 0;
}
раньше писал в паскале, этот язык новый поэтому прошу помощи(
Вроде все правильно написал логическое И для выражений это &&...
Критике советам и тд буду только рад...
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 20:56     Элементарные программы, для лучшего понимания языка...
Посмотрите здесь:

C++ 3 элементарные заезженные программы, не займут у вас много времени)
C++ Какой компилятор выбрать для лучшего изучения С++ по книге Берна Страуструпа?п
C++ Вот для начинающих решённые элементарные задачки
C++ Выделение в исходном коде программы ключевых слов языка и операторов языка по словарю
C++ Транслятор из языка Паскаль в СИ (текст программы) возможен ли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:05     Элементарные программы, для лучшего понимания языка... #2
Добрый вечер! Закомментировал то, что в G++ не идет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// include "stdafx.h"
// #include <stdio.h>
#include <iostream>
using namespace std;
int main()
// int _tmain(int argc, _TCHAR* argv[])
{
    double x, y;
    cout << "введите координаты точки" << endl;
    cin >> x;
    cin >> y;
    if (x*x+y*y<1 && y>1-x && y>1+x && y<-1-x && y<-1+x)
        cout << "принадлежит";
    else
        cout << "не принадлежит";
    return 0;
}
while(i)k++
48 / 48 / 5
Регистрация: 13.08.2010
Сообщений: 160
18.05.2011, 21:07     Элементарные программы, для лучшего понимания языка... #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
        int x, y;
        cout << "введите координаты точки";
        if ((x^x+y^y<1) && (y>1-x) & (y>1+x) && (y<-1-x) && (y<-1+x))//не закрыл скобку
/*ключевого слова then в С++ нету */cout << "принадлежит"/*лишняя скобка*/; else cout << "не принадлежит";
 
        return 0;
}
не вникал в логику просто синтаксичиские ошибки подправил
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:09     Элементарные программы, для лучшего понимания языка... #4
Цитата Сообщение от while(i)k++ Посмотреть сообщение
x^2+y^2
А такие уже операции в C++ появились?
while(i)k++
48 / 48 / 5
Регистрация: 13.08.2010
Сообщений: 160
18.05.2011, 21:11     Элементарные программы, для лучшего понимания языка... #5
незнаю, я просто завтыкал
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:13     Элементарные программы, для лучшего понимания языка... #6
Так уберите. И в Pascal такого нет, это из Basic
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:13  [ТС]     Элементарные программы, для лучшего понимания языка... #7
чета вроде все исправил как вы сказали ео прога запускается, а потом пишет
Run-Time Check Failure #3 - The variable 'x' is being used without being initialized.
а когда ставишь тип double ругается на что то
while(i)k++
48 / 48 / 5
Регистрация: 13.08.2010
Сообщений: 160
18.05.2011, 21:17     Элементарные программы, для лучшего понимания языка... #8
если компилятор Bilder C++ то это катит int _tmain(int argc, _TCHAR* argv[])

Добавлено через 3 минуты
Цитата Сообщение от lamed Посмотреть сообщение
Так уберите. И в Pascal такого нет, это из Basic
пускай будет с истории истbна выплывает, токо наверно коректне заменить x^x не на х*х а на pow(x,x) и добавить #include <math>
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:18  [ТС]     Элементарные программы, для лучшего понимания языка... #9
компилятор microsoft visual studio.
все испрвил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
// int _tmain(int argc, _TCHAR* argv[])
{
    double x, y;
    cout << "vvedite koordinati" << endl;
    cin >> x;
    cin >> y;
    if (x*x+y*y<1 && y>1-x && y>1+x && y<-1-x && y<-1+x)
        cout << "prinadlegit";
    else
        cout << "ne prinadlegit";
    return 0;
}
но вылетает опять. после ввода координат.
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:20     Элементарные программы, для лучшего понимания языка... #10
Чья программа не запускается? Моя? или while(i)k++ ? или обе?
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:21  [ТС]     Элементарные программы, для лучшего понимания языка... #11
блин в паскале на раз два пишется, а здесь полчаса сидеть будешь и не факт что заработает)
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
18.05.2011, 21:21     Элементарные программы, для лучшего понимания языка... #12
Приоритеты операций смотреть:
C++
1
if ((x*x+y*y<1) && (y>1-x) && (y>1+x) && (y<-1-x) && (y<-1+x))
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:22     Элементарные программы, для лучшего понимания языка... #13
У меня Microsoft Visual Studio, к сожалению, нет. Запускаю G++/Code::Blocks
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:22  [ТС]     Элементарные программы, для лучшего понимания языка... #14
Цитата Сообщение от lamed Посмотреть сообщение
Чья программа не запускается? Моя? или while(i)k++ ? или обе?
ну та которая в #9
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:26     Элементарные программы, для лучшего понимания языка... #15
Скобочки тут как раз-таки лишние. Смотрим таблицу приоритетов.

Добавлено через 3 минуты
Скопировал текст, который не запускается, в редактор Code::Blocks
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
// int _tmain(int argc, _TCHAR* argv[])
{
    double x, y;
    cout << "vvedite koordinati" << endl;
    cin >> x;
    cin >> y;
    if (x*x+y*y<1 && y>1-x && y>1+x && y<-1-x && y<-1+x)
        cout << "prinadlegit";
    else
        cout << "ne prinadlegit";
    return 0;
}
Пример выдачи
vvedite koordinati
1
2
ne prinadlegit
Могу скрин-шот прислать
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:27  [ТС]     Элементарные программы, для лучшего понимания языка... #16
че та я совсем запутался...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
// int _tmain(int argc, _TCHAR* argv[])
{
    double x, y;
    cout << "vvedite koordinati" << endl;
    cin >> x;
    cin >> y;
    if (x*x+y*y<1 && y>1-x && y>1+x && y<-1-x && y<-1+x)
        cout << "prinadlegit";
    else
        cout << "ne prinadlegit";
    return 0;
}
по идее должно работать. но чего-то не выходит...
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:27     Элементарные программы, для лучшего понимания языка... #17
Версия Visual Studio какая?
true_Den
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 75
18.05.2011, 21:31  [ТС]     Элементарные программы, для лучшего понимания языка... #18
studio 2010

Добавлено через 1 минуту
прога запускается, но после ввода координат вылетает. Где собака зарыта?
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
18.05.2011, 21:33     Элементарные программы, для лучшего понимания языка... #19
Закомментируйте строку с if и строку с else. Напишите, как будет работать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2011, 21:35     Элементарные программы, для лучшего понимания языка...
Еще ссылки по теме:

На соревнованиях по фигурному катанию оценки заносятся в компьютер. Составить программу для вывода на экран лучшего результата после каждого выступлен C++
C++ Какая база требуется для понимания C++?
C++ Нужен пример рекурсивной функции для понимания ее назначения и практической пользы

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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
18.05.2011, 21:35     Элементарные программы, для лучшего понимания языка... #20
Под словом "вылетает" что понимается? А то может, перед return просто system("pause"); поставить?
Yandex
Объявления
18.05.2011, 21:35     Элементарные программы, для лучшего понимания языка...
Ответ Создать тему
Опции темы

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