19.11.2013, 23:13 | #1 (permalink) |
Новичок
Регистрация: 04.04.2013
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Треугольник С++
Написать функцию, которая определяет треугольник с наименьшей длиной гипотенузы. x и y представить в виде массивов из 1000 элементов помогите,пожалуйста, с заданием. Заранее спасибо. |
19.11.2013, 23:13 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Тема довольно популярная и ранее создавалась на нашем форуме Массив. В квадратном массиве обменять верхний треугольник Четырехполюсник. Схема треугольник Треугольник на Паскале Что означает желтый треугольник с предупреждением на локальной сети |
20.11.2013, 08:43 | #2 (permalink) |
падаван
Регистрация: 23.01.2013
Сообщений: 739
Сказал(а) спасибо: 307
Поблагодарили 27 раз(а) в 3 сообщениях
Репутация: 10792
|
как то так:
Код:
#include <math.h> /////////////////////////////////////////////////////////////////////////////////////////// /// [in] /// double m, double masX[], double masY[], int size //m - сумма катетов, masX и masY - массивы катетов, size - размер массивов /// [out] /// int& indexX, int& indexY // переменные, в которые записываются значения индексов массивов катетов /////////////////////////////////////////////////////////////////////////////////////////// void CalcMinHyp(double m, double masX[], double masY[], int size, int& indexX, int& indexY) { indexX = -1;//после вызова функции сделать проверку что indexX и indexY не равны -1. если равны значит ошибка indexY = -1; double minHyp = -1, hyp; for(unsigned int i = 0; i < size; i++) for(unsigned int j = 0; j < size; j++) { if((masX[i] + masY[j]) == m)// проверку на размер массивов нужно сделать обязательно!!! иначе программа вылетит с исключением { hyp = sqrt(masX[i] * masX[i] + masY[j] * masY[j]);//рассчет гипотенузы (для использования функции sqrt нужно включить файл math.h - см. первую строку) if(minHyp < 0 || hyp < minHyp)//первое условие для случая первого вычисления гипотенузы { minHyp = hyp; indexX = i; indexY = j; } } } } |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|