Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mazarinik
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
#1

Не могу найти ошибки - C++

08.10.2013, 21:59. Просмотров 231. Ответов 0
Метки нет (Все метки)

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

Даны действительные числа x1, y1, x2, y2, x3, y3. Известно, что точка с координатами (x1, y1), (x2, y2), (x3, y3), являться вершинами прямоугольника. Определить координаты четвертой вершины прямоугольника.






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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
void main(){
             float x1, y1, x2, y2, x3, y3, x4, y4;
             printf ("Vvedite koordinati toshek\n");
             scanf ("%f %f %f %f %f %f" , &x1, &y1, &x2, &x3, &y3);
 
private Rectangle createRectangleAndGeneratePoints(){
//create Point p1 - any point
Point p1 = new Point(Utils.generateRandom(RANDOM_RANGE),Utils.generateRandom(RANDOM_RANGE));
System.out.println(p1);
 
Point p2 = null;
Point p3 = null;
Point p4 = null;
 
//generate Point p2 - any point NOT equal to Point p1 
do {
p2 = new Point(Utils.generateRandom(RANDOM_RANGE),Utils.generateRandom(RANDOM_RANGE));
System.out.println(p2);
if (!p2.equals(p1)) {
break;
}
} while (true);
 
//generate Point p3 - in Pifagorus to p1 and p2
do {
p3 = new Point(Utils.generateRandom(RANDOM_RANGE),Utils.generateRandom(RANDOM_RANGE));
System.out.println(p3);
if (Utils.checkPifagorus(p1, p2, p3)) {
break;
}
} while (true);
 
//generate Point p4
//the 4-th point must be in front of the diagonal
//p4 pifagorus to both p1,p2 and p2,p3
do {
p4 = new Point(Utils.generateRandom(RANDOM_RANGE),Utils.generateRandom(RANDOM_RANGE));
System.out.println(p4);
if (Utils.checkPifagorus(p1, p2, p4) && Utils.checkPifagorus(p2, p3, p4)) {
break;
}
} while (true);
return new Rectangle(p1,p2,p3,p4);
}//end of createRectangleAndGeneratePoints()
 
/**
* Вычисление расстояния между двумя точками на плоскости 
* length = sqrt((x1-x2)^2 + (y1-y2)^2)
* */
public static double calculateSegmentLenth (Point p1, Point p2){
double length = Math.sqrt(Math.pow((p1.getX() - p2.getX()), 2) + Math.pow((p1.getY() - p2.getY()),2));
return length;
}
 
/**
* Округление до 2-х знаков с использованием BigDecimal
* */
public static double roundDouble(double d1, int scale){
return new BigDecimal(d1).setScale(scale, RoundingMode.HALF_UP).doubleValue();
}
 
public static boolean checkPifagorus(Point p1, Point p2, Point p3){
double[] lengthArray = new double[3];
 
double catet1 = 0.0;
double catet2 = 0.0;
double gipothenuze = 0.0;
 
if (!p1.equals(p2) && !p1.equals(p3) && !p2.equals(p3)) {
 
lengthArray[0] = Utils.calculateSegmentLenth(p1, p2);
System.out.println("Array[0]: " + lengthArray[0]);
 
lengthArray[1] = Utils.calculateSegmentLenth(p2, p3);
System.out.println("Array[1]: " + lengthArray[1]);
 
lengthArray[2]= Utils.calculateSegmentLenth(p1, p3);
System.out.println("Array[2]: " + lengthArray[2]);[
 
//sorting the array
Arrays.sort(lengthArray);
 
catet1 = lengthArray[0];
catet2 = lengthArray[1];
gipothenuze = lengthArray[2];
 
double catetSquare = Utils.roundDouble(Math.pow(catet1,2) +  Math.pow(catet2, 2),5);
double gipothenuzeSquare = Utils.roundDouble(Math.pow(gipothenuze, 2),5);
 
if (catetSquare == gipothenuzeSquare) {
System.out.println("catetsSquare: " + catetSquare + " gipothenyzeSquare: " + gipothenuzeSquare);
return true;
}
}
return false;
}
 
/**
* Генерирует случайное число по заданному диапазону randomRange 
* --randomRange/2 + Math.random()*randomRange
* */
public static int generateRandom(int randomRange){
return (int)(-randomRange/2 + Math.random()*randomRange);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибки (C++):

НЕ могу найти ошибки (с++) - C++
Написать программу, которая «сжимает» текстовый файл, считывая его и заменяя все повторяющиеся символы ххх… текстом х(n), где х - ...

не могу найти ошибки - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream.h&gt; class primer { public: void run(double x, double y, double z); ...

Не могу найти ошибки - C++
Не могу в коде найти ошибки. Вроде бы код правильный, но программа ругается. Предисловие. Задача. Дана действительная квадратная...

Не могу найти причину ошибки ! - C++
#include&lt;locale.h&gt; #include&lt;stdio.h&gt; #include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;algorithm&gt; #include&lt;vector&gt; using namespace...

Ввести целое число N > 0, являющееся некоторой степенью числа 2 Ошибки не могу найти - C++
Ввести целое число N &gt; 0, являющееся некоторой степенью числа 2: N=2K. Найти целое число K — показатель этой степени. Не разрешается...

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как) - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void main() { int xa, ya, xb, yb; cprintf(&quot;vvod xa, ya, xb, yb&quot;); ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 21:59
Привет! Вот еще темы с ответами:

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Не могу исправить ошибки - C++
// Если сумма трёх попарно различных действительных чисел x, y и z меньше 1, // то наименьшее из этих чисел заменить полусуммой двух...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru