С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33

Ошибка в нахождении точек пересечения

11.12.2011, 15:15. Показов 1341. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
38
39
40
41
42
#include <cstdlib>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{ 
    int a,b,a1,b1,a2,b2,x,y,x1,x2,y1,y2;
    float D;
    printf("Vvedite a=");
    scanf("%d",&a);
    printf("Vvedite b=");
    scanf("%d",&b);
    printf("Vvedite a1=");
    scanf("%d",&a1);
    printf("Vvedite a2=");
    scanf("%d",&a2);
    printf("Vvedite b1=");
    scanf("%d",&b1);
    printf("Vvedite b2=");
    scanf("%d",&b2);
    if (y==y1){
              x=x1;
              a*x*x+b*x-a1*x-b1==0;
              D=(b-a1)*(b-a1)-4*a*b1;
              x=((-1)*(b-a1)-sqrt(D))/4*a;
              printf("x=%d",x);
              scanf("%d",x);
              }
              else if (y==y2){
              x=x2;
              a*x*x+b*x-a2*x-b2==0;
              D=(b-a2)*(b-a2)-4*a*b2;
              x=((-1)*(b-a2)-sqrt(D))/4*a;
              printf("x=%d",x);
              scanf("%d",x);
              }
              else printf("Ne peresekautsa);
    system("PAUSE");
    return EXIT_SUCCESS;
}
В 27 строке пишет ошибку expected ')' before ';' taken. Помогите исправить пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2011, 15:15
Ответы с готовыми решениями:

Определить, сколько точек пересечения имеют прямая и окружность и найти координаты этих точек
Привет. Тут такое дело. В общем я неплохо знаю сам язык, но вот задачку решить не могу. Т.е не знаю как. С школьной математикой у меня...

Программа нахождении минимально удалённой точки от других точек
Есть идеи как это можно сделать? те ты вводиш кооординаты двух или нескольких точек, программа должна найти минимальное расстояние от...

Количество точек пересечения
Заданы две окружности: с центром в точке О(x0, y0) и радиусом R0 и с центром в точке О(x1, y1) и радиусом R1. Определите, во скольких...

14
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
11.12.2011, 15:24
Цитата Сообщение от nake Посмотреть сообщение
a*x*x+b*x-a1*x-b1==0;
Что это?

Цитата Сообщение от nake Посмотреть сообщение
else printf("Ne peresekautsa);
Закрывающая кавычка пропущенна.
1
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
11.12.2011, 15:35  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
Что это?
это уравнение))

Добавлено через 1 минуту
всё, спс теперь работает)) только что-то я намудрил в условии. Как найти точки пересечения параболы и прямоугольника при помощи условных операторов?
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
11.12.2011, 15:41
Цитата Сообщение от nake Посмотреть сообщение
это уравнение))
C++ уравнений решать не умеет, это забота программиста.

Цитата Сообщение от nake Посмотреть сообщение
Как найти точки пересечения параболы и прямоугольника при помощи условных операторов?
Какой параболы и какого прямоугольника?
1
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
11.12.2011, 16:29  [ТС]
параболы y=ax^1+bx
прямоугольника y=ax+b
Вот само задание: Определить , пересекает ли парабола y=ax + b прямоугольник
с координатами противоположных вершин (x1,y1), (x2,y2) и,
если пересекает , найти все точки пересечения.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
11.12.2011, 16:41
Цитата Сообщение от nake Посмотреть сообщение
параболы y=ax^1+bx
Какая ж это парабола?
0
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
11.12.2011, 16:46  [ТС]
Цитата Сообщение от soon Посмотреть сообщение
Какая ж это парабола?
сор)) y=ax^2+bx
c=0
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
11.12.2011, 16:50
У вас условие одно, а пишете другое, прочитайте что вы до этого курсивом печатали
0
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
12.12.2011, 00:00  [ТС]
Цитата Сообщение от AncinetHero Посмотреть сообщение
У вас условие одно, а пишете другое, прочитайте что вы до этого курсивом печатали
проосто в задании ошибка в уравнении параболы

Добавлено через 13 минут
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
38
39
40
41
42
43
44
45
46
47
#include <cstdlib>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{ 
    int a,b,a1,b1,a2,b2,x,y,x1,x2,y1,y2;
    float D;
    printf("Vvedite a=");
    scanf("%d",&a);
    printf("Vvedite b=");
    scanf("%d",&b);
    printf("Vvedite a1=");
    scanf("%d",&a1);
    printf("Vvedite a2=");
    scanf("%d",&a2);
    printf("Vvedite b1=");
    scanf("%d",&b1);
    printf("Vvedite b2=");
    scanf("%d",&b2);
    y=a*x*x+b*x;
    y1=a1*x1+b1;
    y2=a2*x2+b2;
    if (y==y1){
              x=x1;
              a*x*x+(b-a1)*x-b1==0;
              D=(b-a1)*(b-a1)-4*a*b1;
              x=((-1)*(b-a1)-sqrt(D))/4*a;
              y=a*x*x+b*x;
              printf("(x=%d,y=%d)",x,y);
              scanf("%d%d",x,y);
              }
              else if (y==y2){
              x=x2;
              a*x*x+(b-a2)*x-b2==0;
              D=(b-a2)*(b-a2)-4*a*b2;
              x=((-1)*(b-a2)-sqrt(D))/4*a;
              y=a*x*x+b*x;
              printf("(x=%d,y=%d)",x,y);
              scanf("%d%D",x,y);
              }
              else printf("Ne peresekautsa");
    system("PAUSE");
    return EXIT_SUCCESS;
}
Чуть подредактировал, но как написать условие всё равно не очень понятно.

Добавлено через 6 часов 52 минуты
помогите написать пожалуйста как нужно составить условие
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
12.12.2011, 03:12
Предполагается x1 < x2, y1 < y2.
Находишь корни уравнения
ax^2 + bx - x1 = 0
если корни существуют, находишь значение функции, если значение находятся на отрезке [y1; y2], то эти точки являются точками пересечения с нижней стороной прямоугольника.
Аналогично для верхней стороны решается уравнение ax^2 + bx - x2 = 0.
Для боковых сторон находятся корни уравнений
ax^2 + bx - y1 = 0
ax^2 + bx - y2 = 0
если корни существуют и находятся на отрезке [x1; x2], то они являются точками пересечения с боковой стороной прямоугольника.

Добавлено через 2 часа 52 минуты
Таки немного напутал. Последние два уравнения для нахождения точек пересечения с горизонтальными сторонами прямоугольника. Для боковых сторон нужно в уравнение параболы подставлять значение х1 и х2.
1
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
12.12.2011, 15:19  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
ax^2 + bx - x1 = 0
x1 нужно откуда то выражать? или как оно вообще тут появляется?
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
12.12.2011, 23:49
Цитата Сообщение от nake Посмотреть сообщение
x1 нужно откуда то выражать?
Цитата Сообщение от nake Посмотреть сообщение
Вот само задание: Определить , пересекает ли парабола y=ax + b прямоугольник
с координатами противоположных вершин (x1,y1), (x2,y2)
х1, х2, у1, у2 - координты вершин прямоугольника.
0
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
12.12.2011, 23:58  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
х1, х2, у1, у2 - координты вершин прямоугольника.
да это понятно, а почему оно в этом уравнении появляется обЪясни пожалуйста? (сор за тупость))
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
13.12.2011, 14:39
Цитата Сообщение от nake Посмотреть сообщение
да это понятно, а почему оно в этом уравнении появляется обЪясни пожалуйста? (сор за тупость))
Чтобы найти точки пересечения двух функций f(x) и g(x) нужно найти корни уравнений f(x) = g(x) или же f(x) - g(x) = 0
Первая функция у нас парабола ax^2 + bx, горизонтальный отрезок же можно представить системой
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}<br />
 & y=y_1  \\ <br />
 & x_1 < x < x_2  <br />
\end{cases}
так что сначала находим корни уравнения ax^2 + bx = y1, и если они существуют, определяем попадают ли они в интервал [x1; x2].
1
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
13.12.2011, 18:59  [ТС]
УРА!!! Cпасибо за помощь, я решил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2011, 18:59
Помогаю со студенческими работами здесь

Количество точек пересечения
Заданно мно-во прямых на плоскости(коэффициентами своих уравнений)Подсчитать количество точек пересечения этих прямых. Подскажите как...

Определение точек пересечения
Здраствуйте ! Прошу помочь написать программу Разработать программу для определения точек пересечения графика функции y=Ax^2 с...

Нахождение точек пересечения 2-х фигур
Необходимо, используя компонент TImage, нарисовать 2-ва любых примитива и найти точки их пересечения. Может у кого-нибудь есть...

Поиск точек пересечения графиков
Добрый день. Есть набор экспериментальных точек, по которым построены диаграммы (точечные с гладкими кривыми и маркерами). Нужно найти...

Найти значения точек пересечения
Нужно найти точное числовое значение точек пересечения на полученном графике. U = 220; R = 0.632; Ce = 2.095; Cm = 2.294; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru