Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
1

Составить программу определения возможности построения из заданных отрезков параллелограмма

06.10.2010, 16:06. Просмотров 3469. Ответов 28
Метки нет (Все метки)

Помогите составить программу
Даны произвольные отрезки N,M,L,K.
Составить программу определения возможности построения из заданных отрезков параллелограмма и печати соответствующего сообщения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2010, 16:06
Ответы с готовыми решениями:

Составить программу построения 5 прямоугольников
Составить программу построения 5 не закрашенных прямоугольников, размеры и...

Составить программу построения песочных часов
Составить программу построения песчаных часов часы я нарисовал но песок не...

Составить программу построения графика линейной функции
Построить график линейной функции y = kx для k = 0.1,0.2,0.3,…,1.

Составить программу для построения графика функции Эйлера
Вот код для вычисления ф-ции эйлера #include <iostream> #include <conio.h>...

Определить возможность построения из отрезков треугольника
Даны отрезки А, В, С. Определить возможность построения из этих отрезков...

28
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:15 2
В чём сложность?
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 16:24  [ТС] 3
Сложность в том,что у меня куча подобных задач, и нужен правильный код хотя бы одной,чтобы по примеру этой написать остальные
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:26 4
Как заданы отрезки? Координатами точек?
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 16:27  [ТС] 5
Никак,вероятно произвольно...главное надо использовать оператор if
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
06.10.2010, 16:29 6
сложно посчитать длину отрезков и если они попарно равны, то можно построить......
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:30 7
С таким условием кода не будет. Чтобы определить, является ли четырёхугольник параллелограммом, нужно проверить определённые свойства. Чтобы проверить свойства, надо знать чуть больше, чем "никак, вероятно произвольно". Ладно, примем, что они заданы координатами вершин.
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
06.10.2010, 16:31 8
Цитата Сообщение от pushka Посмотреть сообщение
Никак,вероятно произвольно...главное надо использовать оператор if
Задача:Произвольно заданы 4 отрезка.Можно ли построить параллелограмм
Решение:или можно,или нет.

Какое условие такой и ответ
Формат исходных данных нужен...

Может отрезки в попугаях заданы
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 16:35  [ТС] 9
Ничего не могу сказать! это все условия
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
06.10.2010, 16:43 10
Без опеределения данных об отрезках результата не будет
(координатами они заданы или длинами сразу.....)
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:44 11
Из длин мы ничего не вынесем. Кроме того, равны они попарно или нет. Но этого недостаточно для определения, является фигура параллелограммом или нет.
0
LineStown
67 / 67 / 7
Регистрация: 04.08.2010
Сообщений: 423
Завершенные тесты: 1
06.10.2010, 16:47 12
Цитата Сообщение от silent_1991 Посмотреть сообщение
Из длин мы ничего не вынесем. Кроме того, равны они попарно или нет. Но этого недостаточно для определения, является фигура параллелограммом или нет.
А в условии нет описания того, что это фигура.
Есть 4 отрезка, и вопрос можно ли сделать параллелограмм, не имея координат - решает все длины отрезков

Добавлено через 1 минуту
А по сути, условие слишком неопределенное....
Вот уже 2 человека и 2 видения решения...
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:50 13
LineStown,
Я думаю всё-таки, даны координаты точек пересечения, от этого и пляшу... А дальше пусть ТС уже разбирается.
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 16:57  [ТС] 14
Ёлки-иголки,ну не я же составляла условия.
Представьте,вам дали задание,без лишних о'бяснений...вот я и мучаюсь,ищу пример,к вам обратилась!
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 16:58 15
Ну так мы изо всех сил пытаемся помочь! Так что голос повышать не надо
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 17:35  [ТС] 16
Ну,вот недопонимание...это крик измученной души,спасибо ОГРОМНОЕ за желание помочь!

Добавлено через 32 минуты
по признакам параллелограмма(6)!?
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 17:51 17
Чувствую, набыдлокодил ппц... Что-то не идёт...

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
#include <stdio.h>
#include <math.h>
 
int main()
{
    double x1, y1;
    double x2, y2;
    double x3, y3;
    double x4, y4;
    double lengthL, lengthR;
    double lengthU, lengthD;
    double k1, k2;
    int key1, key2;
 
    printf("\nLower left corner:\n");
    printf("Input x1: ");
    scanf("%lf", &x4);
    printf("Input y1: ");
    scanf("%lf", &y4);
 
    printf("Upper left corner:\n");
    printf("Input x2: ");
    scanf("%lf", &x1);
    printf("Input y2: ");
    scanf("%lf", &y1);
 
    printf("\nUpper right corner:\n");
    printf("Input x3: ");
    scanf("%lf", &x2);
    printf("Input y3: ");
    scanf("%lf", &y2);
 
    printf("\nLower right corner:\n");
    printf("Input x4: ");
    scanf("%lf", &x3);
    printf("Input y4: ");
    scanf("%lf", &y3);
 
    lengthL = sqrt(pow(x1 - x4, 2.0) + pow(y1 - y4, 2.0));
    lengthR = sqrt(pow(x2 - x3, 2.0) + pow(y2 - y3, 2.0));
    lengthU = sqrt(pow(x1 - x2, 2.0) + pow(y1 - y2, 2.0));
    lengthD = sqrt(pow(x3 - x4, 2.0) + pow(y3 - y4, 2.0));
 
    if (lengthL != lengthR || lengthU != lengthD)
    {
        printf("Figure is not a parallelogram!");
        getch();
        return 0;
    }
 
    key1 = 0;
    key2 = 0;
    k1 = 0;
    k2 = 0;
 
    if (x1 == x4)
        key1 = 1;
    else
        k1 = (y4 - y1) / (x4 - x1);
 
    if (x2 == x3)
        key2 = 1;
    else
        k2 = (y3 - y2) / (x3 - x2);
 
    if (key1 != key2 || k1 != k2)
    {
        printf("Figure is not a parallelogram!");
        getch();
        return 0;
    }
 
    key1 = 0;
    key2 = 0;
    k1 = 0;
    k2 = 0;
 
    if (x1 == x2)
        key1 = 1;
    else
        k1 = (y2 - y1) / (x2 - x1);
 
    if (x3 == x4)
        key2 = 1;
    else
        k2 = (y4 - y3) / (x4 - x3);
 
    if (key1 != key2 || k1 != k2)
    {
        printf("Figure is not a parallelogram!");
        getch();
        return 0;
    }
 
    printf("Figure is a parallelogram!");
    getch();
    return 0;
}
0
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
06.10.2010, 18:02  [ТС] 18
O-O, ну ничего себе!!! я,конечно, всё понимаю но, по-моему для второго урока по С это перебор!
НЕужели никак нельзя решить эту программу попроще!?

Добавлено через 3 минуты
извиняюсь,сейчас на мат.анализ схожу,потом попробую понять ваш шифр! Огромное спасибо!
0
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
06.10.2010, 18:08 19
Уж проще вряд ли можно... Это тупой набор переменных и вычислений. Основной размер кода из-за математического, а не программного решения.
0
Mr.X
Эксперт С++
3182 / 1709 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
06.10.2010, 19:02 20
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
//////////////////////////////////////////////////////////////////////////////////////
//  Даны произвольные отрезки N,M,L,K.
//  Составить программу определения возможности построения 
//  из заданных отрезков параллелограмма и печати соответствующего сообщения 
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
//////////////////////////////////////////////////////////////////////////////////////
bool  are_parallelogram_sides(double* V)
{
    if(V[0] == V[1])
    {
        return V[2] == V[3];
    }
    if(V[0] == V[2])
    {
        return V[1] == V[3];
    }
    if(V[0] == V[3])
    {
        return V[1] == V[2];
    }  
    return false;    
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите длины отрезков > 0:"
              << std::endl;
    
    double  segments_val[4] = {0};
    char segment_name = 'K';
    for(int i = 0; i < 4; ++i, ++segment_name)
    {
        do
        {
            std::cout << segment_name
                      << " = ";
            std::cin >> segments_val[i];        
        }while(segments_val[i] <= 0);        
    }
    std::cout << "Из заданных отрезков "
              << (are_parallelogram_sides(segments_val) ? "можно" : "нельзя")
              << " построить параллелограмм."
              << std::endl;
}
1
06.10.2010, 19:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2010, 19:02

Составить программу для подсчета непарных элементов двумерной матрицы В, (по возможности) используя функцию обработки массива.
Сформировать динамический массив В розмера m×n из случайных целых чисел....

Составить программу для определения типа треугольника

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


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

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

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