Тема: Потрібен код мовою C.
Задані гіпотенуза і один з катетів прямокутного трикутника. Знайти другий
його катет і площу трикутника.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C → Потрібен код мовою C.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Задані гіпотенуза і один з катетів прямокутного трикутника. Знайти другий
його катет і площу трикутника.
Вам потрібен - ви й пишіть.
П.3.3 Правил
П.3.4 Правил
П.3.5 Правил
Усе погано.
#include <math.h>
int* pythagorean(int hypotenuse, int cathetus) {
int other_cathetus, square;
other_cathetus = sqrt((hypotenuse*hypotenuse) - (cathetus*cathetus));
square = (cathetus + other_cathetus) / 2;
int *result = malloc(sizeof(int) * 2);
result[0] = other_cathetus;
result[1] = square;
return result;
}
Не тестував, але має бути якось так.
UPD. Потестував, поправив.
bebyk, ви відповідаєте за тих, кого приручили.
koala написав:bebyk, ви відповідаєте за тих, кого приручили.
Задача мене зацікавила, я її вирішив. Я відповідаю тільки за своє рішення.
Ви відповідаєте перед громадою України, та перед душами живих, мертвих і ненароджених.
Рішення Суду:
*Читати швидко монотонним голосом, без зупинок аби слова зливалися разом*
Веселуни веселяться, а я навчився нарешті розділяти файли в С. На коді за мотивами цього завдання.
bebyk написав:навчився нарешті розділяти файли в С.
Це було би добре розбити на 2 функції без malloc.
То ви покажіть приклад як треба, бо з вашого речення не зрозуміло, про що йдеться.
То ви покажіть приклад як треба.
▼Прихований текст
О, точно, погано я засвоїв «чистий код».
А якщо вже дуже потрібно повертати кілька значень (у цьому випадку - не потрібно), то робіть це структурою:
#include <stdio.h>
#include <math.h>
typedef struct
{
float cathetus1;
float cathetus2;
float hypotenuse;
float area;
} Triangle;
void print_triangle(Triangle* t)
{
printf("Elements of triangle: cathetus1=%0.2f, cathetus2=%0.2f, hypotenuse=%0.2f, area=%0.2f",
t->cathetus1, t->cathetus2, t->hypotenuse, t->area);
}
Triangle fill_triangle(float cathetus, float hypotenuse)
{
Triangle result;
result.cathetus1 = cathetus;
result.cathetus2 = sqrt(hypotenuse*hypotenuse-cathetus*cathetus);
result.hypotenuse = hypotenuse;
result.area = result.cathetus1 * result.cathetus2 / 2.0;
return result;
}
int main(void) {
Triangle egyptian = fill_triangle(3,5);
print_triangle(&egyptian);
return 0;
}
Звісно, можна повертати з функції структуру лише на 2 значення, але тоді це виглядає якось куцо.
koala написав:bebyk, ви відповідаєте за тих, кого приручили.
Автор вислову мав на увазі тварин...
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися