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

Определить, существует ли треугольник со сторонами a, b, c

19.11.2009, 09:22. Показов 21860. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1) поределить существует ли треугольник со сторонами a,b,c, и если существует,то является ли он равносторонним,равнобедренным или разносторонним
2) вычислить r=p!где P третье число делящееся на 9 в диапазоне от 20 до 100
3)вывести на экран третье,пятое и шестое число,кратное 3и 7 в диапазоне от 120 до 270
4)задан массив Z(n) целых чисел.удалить из массива наибольший и наименьший элементы.в преобразованом массиве найти среднее арифметическое тени наибольших элементов.
5)задан массив z(k) целых чисел.поределить в массиве количество простых двухзначных чисел.если таких чисел больше двух,удалить их из массива.проверить,изменился ли максимальный элемент массива
заранее благодарен за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2009, 09:22
Ответы с готовыми решениями:

Определить, существует ли треугольник со сторонами a, b, c
Задача: Определить, существует ли треугольник со сторонами a, b, c. Примечание: Стороны a, b, c...

Определить, существует ли треугольник с заданными сторонами
Даны три натуральных числа A, B, C. Определите, существует ли треугольник с такими сторонами. Если...

Определить, существует ли треугольник с заданными сторонами, и если “да”, то определить его тип
Даны три натуральных числа — длины стороны треугольника. Определите, существует ли треугольник с...

Выяснить существует ли треугольник со сторонами x,y,z , и определить его вид
Даны действительные положительные числа x,y,z . Выяснить существует ли треугольник со сторонами...

28
40 / 40 / 10
Регистрация: 18.11.2009
Сообщений: 115
19.11.2009, 10:04 2
1. Сравнить а+в и с. Если а+в>=с то треугольник не существует. Если а=в=с - равносторонний. Если а=в или а=с или в=с - равнобедренный
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
19.11.2009, 10:13 3
Цитата Сообщение от mikhail2704 Посмотреть сообщение
Сравнить а+в и с. Если а+в>=с то треугольник не существует
Не все так просто. Во-первых, наверное наоборот (если a+b<=c) то треугольник не существует. Во вторых нужно сделать три подобные проверки (для всех сторон).
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
19.11.2009, 10:21 4
Цитата Сообщение от valeriikozlov Посмотреть сообщение
наверное наоборот (если a+b<=c)
опять же - нет, что мешает быть треугольнику 30...30...120?
a+b+c = 180 - тогда существует! в ином случае нет (ну если говорить, конечно, о геометрии на плоскости)...

Добавлено через 4 минуты
ё моё, имелось ввиду стороны a, b & c? а я подумал углы... ну эээ, извиняюсь..
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
19.11.2009, 10:39 5
В топике Выяснить существует ли треугольник с длинами сторон a,b,c приводилось правильное решение
C++
1
2
3
4
bool Triangle(int a, int b, int c)
{
    return ((a + b > c) && (b + c > a) && (c + a > b));
}
проверка на вид треугольника
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int Type(int a, int b, int c)
{
    if(a == b == c)
        return 0;
    else
        if(a==b || c == b || a == c)
            return 1;
    return 2;
}
int main()
{
...
    if(Triangle(a, b, c))
        std::cout<<(Type(a, b, c) == 0) ? "равносторонний" :
                    (Type(a, b, c) == 1) ? "равнобедренный" : "разносторонний";
    else
        std::cout<<"Это не треугольник";
...
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 7
19.11.2009, 16:46  [ТС] 6
Господа,можете посоветовать литературу по с++ для таких как я,знаний по с практически 0...
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
19.11.2009, 16:49 7
Препод грузит на первом курсе а лекции не одной небыло
тачнее вас небыло на лекциях..
Цитата Сообщение от Grand1 Посмотреть сообщение
Господа,можете посоветовать литературу по с++
https://www.cyberforum.ru/cpp/thread6623.html
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 7
19.11.2009, 16:56  [ТС] 8
Цитата Сообщение от ISergey Посмотреть сообщение
тачнее вас небыло на лекциях..

https://www.cyberforum.ru/cpp/thread6623.html
Нет просто тот препод который должен был быть уволился и по настоящее время его ни кто не заменял
0
30 / 30 / 12
Регистрация: 15.11.2009
Сообщений: 148
19.11.2009, 17:40 9
Цитата Сообщение от Grand1 Посмотреть сообщение
вычислить r=p!где P третье число делящееся на 9 в диапазоне от 20 до 100
По-русски говоря, вычислить факториал 45?

Добавлено через 17 минут
И сразу вопрос, кто знает, где можно храниить факториал 45?

Добавлено через 24 секунды
В какой тип ОНО влезет?

Добавлено через 1 минуту
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int i,p;
    unsigned int r=0;
    for(i=20;i<100;i++) {
                        if (i%9==0)r++;
                         if(r==3) {p=i; break;}}//poisk p
    printf("%d\n",p);//takoe vot p 
    r=1; 
    for(i=2;i<=p;i++) r*=i;//uvy, ne pomestitsya
    printf("\n%d\n",r);
    system("PAUSE");    
  
}
вот то, что есть

Добавлено через 1 минуту
Цитата Сообщение от Grand1 Посмотреть сообщение
вывести на экран третье,пятое и шестое число,кратное 3и 7 в диапазоне от 120 до 270
тоесть, кратные 21?

Добавлено через 4 минуты
Цитата Сообщение от Grand1 Посмотреть сообщение
в преобразованом массиве найти среднее арифметическое тени наибольших элементов
Что это?
1
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 18:09 10
ну факториал 45 это длинная арифметика вроде была такая задача 500! погугли её , про среднее арифметическое это видимо ср арифм 3 наибольших элементов , алгоритм в лоб отсортировать сложить первые 3 и поделить на 3 .
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
19.11.2009, 18:47 11
для проверки
45!
119 622 220 865 480 194 561 963 161 495 657 715 064 383 733 760 000 000 000
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 7
20.11.2009, 05:00  [ТС] 12
Тени-это то есть семи
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 7
20.11.2009, 09:33  [ТС] 13
Вот еще он озадачил сказал так как не успиваем сделать до следующего четверга 3 лабы и дал еще два задания...Короче нагрузил по полной
6)Задан массив Х(n) целых чисел. Удалить из массива все элементы,
большие среднего арифметического значения. Определить в массиве
количество простых и совершенных чисел до и после удаления.
7)Вычислить среднее арифметическое и среднее геометрическое нечетных
чисел, кратных 7 в диапазоне от 101 до 213.
Только не говорите что я полный дебил ,я просто всего этого не знаю
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
20.11.2009, 13:09 14
Grand1,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <numeric>
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    std::vector<int>vec(arr,arr+sizeof(arr)/sizeof(*arr));
    std::cout<<"исходный массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    vec.erase(std::remove_if(vec.begin(),vec.end(),std::bind2nd(std::greater<int>(),std::accumulate(vec.begin(),vec.end(),0)/vec.size())),vec.end());
    std::cout<<"новый массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    system("pause");
    return 0;
}
Добавлено через 37 минут
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <numeric>
 
struct sover : public std::unary_function<int,bool> 
{
  bool operator() (int number)
  {
      int sum = 0 ;
      for (size_t i = 1 ; i < number ; i++)
      {
          if (number%i==0)
          {
              sum=sum+i;
          }
      }
      if (sum==number) return true;
      else
          return false;
  }
 
};
 
struct prost : public std::unary_function<int,bool>
{
    bool operator() (int number)
    {
        for (int i = 2 ; i < number ; i++)
            if (number % i == 0 ) return false;
        return true;
    }
};
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {2,3,4,5,6,7,8,9,10};
    std::vector<int>vec(arr,arr+sizeof(arr)/sizeof(*arr));
    std::cout<<"исходный массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    std::cout<<"количество совершенных чисел"<<' '<<std::count_if(vec.begin(),vec.end(),sover())<<std::endl;
    std::cout<<"количество простые чисел"<<' '<<std::count_if(vec.begin(),vec.end(),prost())<<std::endl;
    vec.erase(std::remove_if(vec.begin(),vec.end(),std::bind2nd(std::greater<int>(),std::accumulate(vec.begin(),vec.end(),0)/vec.size())),vec.end());
    std::cout<<"новый массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    std::cout<<"количество совершенных чисел"<<' '<<std::count_if(vec.begin(),vec.end(),sover())<<std::endl;
    std::cout<<"количество простые чисел"<<' '<<std::count_if(vec.begin(),vec.end(),prost())<<std::endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 7
21.11.2009, 08:45  [ТС] 15
охринеть! вот мне интересно чтоб такие проги писать сколько времени нужно потратить на изучение C++ по книжкам...
0
Wolf1851
21.11.2009, 17:24 16
Пожалуйста помогите решить задания:
1.Найти натуральное число от n до k с максимальной суммой делителей
2.Дано натуральное число n. Получить его каноническое разложение (разложение на простые множители).
3.Дано натуральное k <=2109. Вывести k цифру последовательности 011212201220200112... Последовательность строится следующим образом: сначала 0, затем повторяем: уже написанную часть приписываем справа с заменой 0 на 1, 1 на 2, 2 на 0.
Всё организовать через цикл.
1354 / 315 / 6
Регистрация: 21.11.2009
Сообщений: 992
21.11.2009, 17:32 17
Советую тебе книгу "Язык програмирования С++ (учебный курс)" Автор С.В. Глушаков , С.В.Смирнов

ДЛЯ новичков

Добавлено через 3 минуты
Цитата Сообщение от Андрейка Посмотреть сообщение
Grand1,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <numeric>
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    std::vector<int>vec(arr,arr+sizeof(arr)/sizeof(*arr));
    std::cout<<"исходный массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    vec.erase(std::remove_if(vec.begin(),vec.end(),std::bind2nd(std::greater<int>(),std::accumulate(vec.begin(),vec.end(),0)/vec.size())),vec.end());
    std::cout<<"новый массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    system("pause");
    return 0;
}
Добавлено через 37 минут
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <numeric>
 
struct sover : public std::unary_function<int,bool> 
{
  bool operator() (int number)
  {
      int sum = 0 ;
      for (size_t i = 1 ; i < number ; i++)
      {
          if (number%i==0)
          {
              sum=sum+i;
          }
      }
      if (sum==number) return true;
      else
          return false;
  }
 
};
 
struct prost : public std::unary_function<int,bool>
{
    bool operator() (int number)
    {
        for (int i = 2 ; i < number ; i++)
            if (number % i == 0 ) return false;
        return true;
    }
};
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {2,3,4,5,6,7,8,9,10};
    std::vector<int>vec(arr,arr+sizeof(arr)/sizeof(*arr));
    std::cout<<"исходный массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    std::cout<<"количество совершенных чисел"<<' '<<std::count_if(vec.begin(),vec.end(),sover())<<std::endl;
    std::cout<<"количество простые чисел"<<' '<<std::count_if(vec.begin(),vec.end(),prost())<<std::endl;
    vec.erase(std::remove_if(vec.begin(),vec.end(),std::bind2nd(std::greater<int>(),std::accumulate(vec.begin(),vec.end(),0)/vec.size())),vec.end());
    std::cout<<"новый массив"<<std::endl;
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<int>(std::cout," "));
    std::cout<<std::endl;
    std::cout<<"количество совершенных чисел"<<' '<<std::count_if(vec.begin(),vec.end(),sover())<<std::endl;
    std::cout<<"количество простые чисел"<<' '<<std::count_if(vec.begin(),vec.end(),prost())<<std::endl;
    system("pause");
    return 0;
}
А не проще дописать
C++
1
using namespace std;
чтобы было понятно новичку...и не входило в заблуждения
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
21.11.2009, 19:17 18
lolopolosko, новичку наоборот так будет проще запутаться. Пусть с самого начала привыкает писать правильно
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
22.11.2009, 00:43 19
Grand1, ниче в коде сложного нет как дойдёшь до STL поймёшь о чем тут
0
-1 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 14
22.11.2009, 14:56 20
Столкнулся с этой же задачей. Смог сделать только так, чтоб массив был const. Как можно переделать код, чтобы длина массива задавалась с клавиатуры? Я не смог разобраться, как здесь это сделать с помощью указателя. В других программах получалось, а здесь не смог справиться.

Добавлено через пару минут
Кстати, задача на средние значения диапазона.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL,"RUSSIAN");
long long int sum=0, mul=1, itt=0;
    for(int i = 101; i <= 213; i++)
    {
        if( !(i%7) && i%2 )
        {
            sum+=i;
            mul*=i;
            itt++;
        }
    }
cout << "Cреднее арифметическое нечетных чисел, кратных 7 в диапазоне от 101 до 213 равно" << sum/itt 
     << ", среднее геометрическое " << pow((float)mul,(float)1/itt) << "." << endl << endl;
system("pause");
return 0;
}
А вот в задаче с простыми и совершенными числами я так и не сообразил, как организовать ввод длины массива с клавиатуры, чтоб потом всё работало.
0
22.11.2009, 14:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2009, 14:56
Помогаю со студенческими работами здесь

Программа, определяющая, существует ли треугольник со сторонами a, b, c, и является ли он тупоугольным
Даны вещественные положительные числа a, b, c. Составить программу, определяющую: существует ли...

Определить, является ли треугольник со сторонами a,b,c равносторонним
Определить, является ли треугольник со сторонами a,b,c равносторонним

Определить, является ли треугольник со сторонами a, b, c равносторонним
1.Определить, является ли треугольник со сторонами a, b, c равносторонним.

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


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

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

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