С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 12.05.2019
Сообщений: 49
1

Написать программу для определения вида треугольников(прямоугольный, равнобедренный, разносторонний,треугольник не

25.05.2019, 14:28. Показов 3989. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу для определения вида треугольников(прямоугольный, равнобедренный, разносторонний,треугольник не существует) по длинам их сторон, записанных в файл. Определение вида треугольника реализовать функцией. В программе реализовать функцию, аргументами которой являются стороны треугольника, а возвращаемый результат - целое число, обозначающее вид треугольника. (Читайте условие полностью)
Пример результата программы:
треугольник со сторонами (5,6,5) является равнобедренным
треугольник со сторонами (1,6,1) не существует
Мой код(по какой-то причине k всегда равно 0):

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
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
 
int treug(int a,int b,int c,int k)
{
    if ((a+b)<c || (a+c)<b || (b+c)<a) k=1;
        if (a==c) k=2;
        if (a==c && b==c) k=3;
        if ((a*a)+(b*b)==c) k=4;
}
 
int main()
{
    int a,b,c,k;
    ifstream f_input;
    ofstream f_output;
    f_input.open("vvod.txt");
    f_output.open("vivod.txt");
    f_input>>a>>b>>c;
    treug(a,b,c,k);
    if (k==1) f_output<<"треугольник со сторонами ("<<a<<","<<b<<","<<c<<") не существует"; else
    if (k==2) f_output<<"треугольник со сторонами ("<<a<<","<<b<<","<<c<<") является равнобедренным"; else
    if (k==3) f_output<<"треугольник со сторонами ("<<a<<","<<b<<","<<c<<") является равносторонним"; else
    if (k==4) f_output<<"треугольник со сторонами ("<<a<<","<<b<<","<<c<<") является прямоугольным";else
        f_output<<"треугольник со сторонами ("<<a<<","<<b<<","<<c<<") является разносторонним";
    f_input.close();
    f_output.close();
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2019, 14:28
Ответы с готовыми решениями:

Написать программу для определения вида треугольников (прямоугольный, равнобедренный, разносторонний)
Написать программу для определения вида треугольников(прямоугольный, равнобедренный,...

Написать программу для определения вида треугольников
Написать программу для определения вида треугольников (прямоугольный, равносторонний,...

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

Опеределить образуют ли 3 точки прямоугольный/равнобедренный/разносторонний треугольник. Если да - вычислить площадь треугольника.
1)даны координаты трех точек проверить являются ли они вершинами прямоугольного равнобедренного...

1
698 / 140 / 57
Регистрация: 20.08.2017
Сообщений: 255
25.05.2019, 15:12 2
Лучший ответ Сообщение было отмечено z0r как решение

Решение

Потому что внутри treug меняется локальная версия k, т. к. k из main передается по значению. Передавайте k по ссылке:

C
1
int treug(int a, int b, int c, int &k) { ... }
Программа заработает, хотя код ужасен да и задача решена неверно…

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
#include <fstream>
 
enum TriangleTypes {
    NOT_EXIST,
    ISOSCELES,
    EQUILATERAL,
    RIGHT,
    SCALENE
};
 
static enum TriangleTypes getTriangleType(unsigned int a, unsigned int b, unsigned int c)
{
    if ((a + b) < c || (a + c) < b || (b + c) < a)
        return NOT_EXIST;
 
    if (a == c && c == b && b == a)
        return EQUILATERAL;
 
    if (a == c || c == b || b == a)
        return ISOSCELES;
 
    const unsigned int a_sqr = a * a;
    const unsigned int b_sqr = b * b;
    const unsigned int c_sqr = c * c;
    
    if ((a_sqr + b_sqr == c_sqr) || (c_sqr + b_sqr == a_sqr) || (a_sqr + c_sqr == b_sqr))
        return RIGHT;
 
    return SCALENE;
}
 
int main()
{
    std::ifstream input("input.txt");
    std::ofstream output("output.txt");
 
    unsigned int a, b, c;
    input >> a >> b >> c;
 
    const enum TriangleTypes type = getTriangleType(a, b, c);
 
    output << "The triangle with three given side lengths " << a << ", " << b << " and " << c << " ";
 
    switch (type) {
        case NOT_EXIST:
            output << "does not exist.";
            break;
        case ISOSCELES:
            output << "is an isosceles triangle.";
            break;
        case EQUILATERAL:
            output << "is an equilateral triangle.";
            break;
        case RIGHT:
            output << "is an right triangle.";
            break;
        case SCALENE:
            output << "is an scalene triangle.";
            break;
    }
}
0
25.05.2019, 15:12
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2019, 15:12
Помогаю со студенческими работами здесь

Определение вида треугольника: равносторонний, равнобедренный, разносторонний
задача: по введенным значениям сторон треугольника определить его вид: равносторонний,...

Определения типа треугольника (равносторонний, равнобедренный, разносторонний) по заданным координатам
1.Составить программу определения типа треугольника (равносторонний, равнобедренный,...

Процедура позволяет рисовать треугольник по координатам вершин трёх точек. Нарисовать прямоугольный треугольник, и равнобедренный
помогите пожалуйста решить, срочно нужно на экзамен...жду вашей помощи) 1)Процедура позволяет...

Создать класс Triangle, разработав три конструктора, равносторонний треугольник, равнобедренный и разносторонний
Создать класс Triangle, разработав следующие элементы класса: Поля: int a, b, c. Конструктор,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как работать с Laravel в PHP
InfoMaster 12.01.2025
Введение в Laravel Laravel представляет собой современный PHP-фреймворк с открытым исходным кодом, который значительно упрощает и ускоряет процесс разработки веб-приложений. Этот фреймворк был. . .
Как программировать под HCL Notes и создавать свои продукты на ее основе
InfoMaster 11.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой мощную платформу для разработки корпоративных приложений, которая сочетает в себе функции электронной почты, календаря,. . .
Как работать с SVN (Subversion)
InfoMaster 11.01.2025
Введение Система контроля версий является неотъемлемой частью современного процесса разработки программного обеспечения. Она обеспечивает управление изменениями в коде, позволяет отслеживать. . .
Использование GraphQL в JavaScript
InfoMaster 11.01.2025
Введение в GraphQL и его преимущества В современной разработке веб-приложений эффективный обмен данными между клиентом и сервером играет ключевую роль. GraphQL представляет собой язык запросов и. . .
Администрирован­­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru