Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2013, 22:11   #1
zwenya
 
Регистрация: 14.11.2013
Сообщений: 7
По умолчанию Треугольник С++

Сумма катетов прямоугольного треугольника постоянна и равна m. (x+y=m)
Написать функцию, которая определяет треугольник с наименьшей длиной гипотенузы. x и y представить в виде массивов из 1000 элементов

помогите,пожалуйста, с заданием. Заранее спасибо.
zwenya вне форума Ответить с цитированием
Старый 19.11.2013, 23:25   #2
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
По умолчанию

Если я все правильно понял то так

#include <iostream>
#include <conio.h>
#include<ctime>

using namespace std;

int main()
{
setlocale(LC_ALL,"RUS");
int m;
cout<<"Введите суму катетов:";
cin>>m;
int *x = new int [m];
int *y = new int [m];

for(int i=0;i<m;i++)
{
x[i]=i;
}
for(int i=0,b=m;i<m;i++,b--)
{
y[i]=b;
}
int x1,y1;
int DlGipyt=x[0]*x[0]+y[0]*y[0];
for(int i=0;i<m;i++)
{
if(DlGipyt>x[i]*x[i]+y[i]*y[i])
{
DlGipyt=x[i]*x[i]+y[i]*y[i];
x1=x[i];
y1=y[i];
}

}
delete [] x;
delete [] y;
cout<<"Длина гипотенузы:"<<DlGipyt;
cout<<endl<<"Длина 1 катета:"<<x1<<"\nДлина 2 катета:"<<y1;

_getch();
}
Lokki23 вне форума Ответить с цитированием
Старый 20.11.2013, 15:46   #3
zwenya
 
Регистрация: 14.11.2013
Сообщений: 7
По умолчанию

что-то интересные значения гипотенузы выводит: ввожу m=17,выводит гипотенуза =125, а должна выводить 12,04
zwenya вне форума Ответить с цитированием
Старый 20.11.2013, 18:06   #4
Lokki23
Пользователь
 
Регистрация: 19.11.2013
Сообщений: 57
По умолчанию

а да да я втиканул

там просто нада взять еще корень и все
c^2=a^2+b^2 квадрат гипотенузи

короче вместо
int DlGipyt=x[0]*x[0]+y[0]*y[0];
for(int i=0;i<m;i++)
{
if(DlGipyt>x[i]*x[i]+y[i]*y[i])
{
DlGipyt=x[i]*x[i]+y[i]*y[i];
x1=x[i];
y1=y[i];
}
надо

double DlGipyt=sqrt(x[0]*x[0]+y[0]*y[0]);
for(int i=0;i<m;i++)
{
if(DlGipyt>sqrt(x[i]*x[i]+y[i]*y[i]))
{
DlGipyt=sqrt(x[i]*x[i]+y[i]*y[i]);
x1=x[i];
y1=y[i];
}

и подключить библиотеку #include <match.h>
Lokki23 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Треугольник P91 Общие вопросы по Java, Java SE, Kotlin 1 28.12.2013 19:19
Треугольник midiss Visual C++ 0 02.06.2013 21:24
Треугольник С++ i.yakushev Помощь студентам 18 05.05.2011 20:55
C++(треугольник) Runner Помощь студентам 2 13.05.2010 10:32
Треугольник serega11 Помощь студентам 2 22.05.2008 09:01