0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 66
1

Определить вид треугольника

28.10.2019, 10:19. Показов 486. Ответов 9
Метки нет (Все метки)

Ошибка, как исправить:

Проверка треугольника
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 "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
 
 
int main(int argc, char* argv[])
{
 
    int side1 = stoi(argv[1]);
    int side2 = stoi(argv[2]);
    int side3 = stoi(argv[3]);
 
    if ((side1 + side2 > side3)
        && (side1 + side3 > side2)
        && (side2 + side3 > side1))
 
    {       
        if (side1 == side2 && side2 == side3 && side1 == side3)
        {
            cout << "Equilateral";
        }
        else
        {
            if ((side1 == side2)
                || (side2 == side3)
                || (side1 == side3))
            {
                cout << "Isosceles";
            }
            else
            {
                cout << "Normal";
            }
        }
    }
    else
    {
        cout << "Not a triangle";
    }
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2019, 10:19
Ответы с готовыми решениями:

Определить вид треугольника
Программа должна выводить результаты в цифрах: а) 0-не треугольник, б) другой треугольник,...

Определить вид треугольника
1. Ввести углы а, в, с треугольника (а + в + с = 180 º) и определить вид треугольника...

Определить вид треугольника
Здравствуйте, дорогие форумчане. Мне снова нужна ваша помощь. Вот задание: Треугольник задан...

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

9
Модератор
Эксперт С++
12126 / 9791 / 5916
Регистрация: 18.12.2011
Сообщений: 26,268
28.10.2019, 11:07 2
Ошибок не вижу, только небольшие недочеты
1.
Цитата Сообщение от sauron5676 Посмотреть сообщение
if (side1 == side2 && side2 == side3 && side1 == side3)
третье условие излишние, т.к. оно является следствием первых двух.

2.
Цитата Сообщение от sauron5676 Посмотреть сообщение
int side1 = stoi(argv[1]);
C++
1
int side1 = atoi(argv[1]);
3.
Цитата Сообщение от sauron5676 Посмотреть сообщение
#include <string>
C++
1
#include <cstdlib>
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 66
28.10.2019, 20:16  [ТС] 3
Почему вылазит ошибка в строчке int side1 = atoi(argv[1]); ?
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
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
 
int main(int argc, char* argv[])
{
    int side1 = atoi(argv[1]);
    int side2 = atoi(argv[2]);
    int side3 = atoi(argv[3]);
 
 
    if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
        cout << "storonamenshe0" << endl;
        exit(0);
    }
    if (side1 < side2 + side3 && side2 < side3 + side1 && side3 < side1 + side2) {}
    else {
        cout << "nesobravenstvotrg" << endl;
        exit(0);
    }
    if ((side1 == side2) && (side2 == side3) && (side1 == side3)) {
        cout << "Equilateral" << endl;
    }
    if (((side1 == side2) && (side1 != side3)) || ((side1 == side3) && (side1 != side2)) || ((side3 == side2) && (side3 != side1)))
    {
        cout << "Isosceles" << endl;
    }
    if (side1 != side2 && side2 != side3 && side1 != side3) {
        cout << "Normal" << endl;
    }
    return(0);
 
}
0
фрилансер
4175 / 3584 / 801
Регистрация: 11.10.2019
Сообщений: 9,648
28.10.2019, 21:31 4
sauron5676, а что за ошибка то ?

Может, argc==0 ?
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 66
29.10.2019, 17:22  [ТС] 5
Вылетает ошибка, смотрите на скрине
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
#include <cstdlib>
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
     int side1 = atoi(argv[1]);
     int side2 = atoi(argv[2]);
     int side3 = atoi(argv[3]);
 
 
    if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
        cout << "storonamenshe0" << endl;
        exit(0);
    }
    if (side1 < side2 + side3 && side2 < side3 + side1 && side3 < side1 + side2) {}
    else {
        cout << "nesobravenstvotrg" << endl;
        exit(0);
    }
    if ((side1 == side2) && (side2 == side3) && (side1 == side3)) {
        cout << "Equilateral" << endl;
    }
    if (((side1 == side2) && (side1 != side3)) || ((side1 == side3) && (side1 != side2)) || ((side3 == side2) && (side3 != side1)))
    {
        cout << "Isosceles" << endl;
    }
    if (side1 != side2 && side2 != side3 && side1 != side3) {
        cout << "Normal" << endl;
    }
    return(0);
 
}
Миниатюры
Определить вид треугольника  
0
Модератор
Эксперт CЭксперт С++
5104 / 4533 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.10.2019, 17:30 6
sauron5676, а программу запускаешь с параметрами?
Она же ждет 3 числа...
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 66
29.10.2019, 18:04  [ТС] 7
всмысле, объясни
0
Модератор
Эксперт С++
12126 / 9791 / 5916
Регистрация: 18.12.2011
Сообщений: 26,268
29.10.2019, 18:09 8
sauron5676, Вы решили величины сторон треугольника передавать через параметры функции main.
Так почему же тогда не знаете, как их задать?
поменяйте
Цитата Сообщение от sauron5676 Посмотреть сообщение
C++
1
2
3
4
5
int main(int argc, char* argv[])
{
   int side1 = atoi(argv[1]);
    int side2 = atoi(argv[2]);
    int side3 = atoi(argv[3]);
на
C++
1
2
3
4
5
6
7
8
9
int main()
{
   int side1,side2,side3;
   cout<<"Enter side1:";
   cin>>side1;
   cout<<"Enter side2:";
   cin>>side2;
   cout<<"Enter side3:";
   cin>>side3;
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 66
29.10.2019, 18:15  [ТС] 9
я буду тестировать эту прогу через bat файл
0
Модератор
Эксперт CЭксперт С++
5104 / 4533 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.10.2019, 18:20 10
Цитата Сообщение от sauron5676 Посмотреть сообщение
я буду тестировать эту прогу через bat файл
Замечательно, в таком случае программу запускать обязательно с тремя параметрами-числами
Желательно в программе проверить argc >= 4, чтобы было не меньше 3 параметров. Иначе вывести сообщение.

Добавлено через 2 минуты
Запускать типа так: proga 23 34 45
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2019, 18:20
Помогаю со студенческими работами здесь

Определить вид треугольника по его сторонам
Помогите кто-нибудь Даны три числа.Если они могут быть длинами сторон треугольника,определите его...

Определить вид треугольника по координатам вершин
Задача 2 : Задача на строки. Даны координаты трех точек на плоскости. Если они могут быть вершинами...

Определить вид треугольника по его углам
Программа правильно выдает результат с тестами 1,2,4. Но неправильно считает гамму в 3 тесте....

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru