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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 20:35   #1
v1le
Пользователь
 
Регистрация: 25.10.2010
Сообщений: 13
Стрелка Подпрограммамы в Си.

Задание: Определить вид треугольника (прямоугольный, остроугольный, тупоугольный) для трех значений отрезков.
Программу я написал. Она работала правильно. НО! Преподаватель попросил разбить её на подпрограммы. А у меня с этим проблемы.. Вот что получилось.
Код:
#include "stdafx.h"
double f(double fstside, double scndside, double thrdside);
int main(void){
	double fstside,
		scndside,
		thrdside,
		max,
		mid,
		min,
		cos,
		res;
	scanf_s("%lf", &fstside);
	scanf_s("%lf", &scndside);
	scanf_s("%lf", &thrdside);
	res = f(max, mid, min);
	cos=(min*min+mid*mid-max*max)/(2*min*mid);
	if (cos!=0)
	{
		if (cos>0) 
			printf ("Ostroygolnii\n"); 
		else printf ("PTypoygolnii\n");
	}
	else printf ("Pryamoygolnii\n");
	return 0;
}
double f(double fstside, double scndside, double thrdside, double min, double mid, double max){
if (fstside>scndside)
		mid=fstside;
	else mid=scndside;
	if (mid>thrdside)
	{
		if (fstside>thrdside)
		{
			max=fstside;
			mid=scndside;
			min=thrdside;
		}
		else
		{
			max=scndside;
			mid=fstside;
			min=thrdside;
		}
	}
	else
	{
		if (fstside>scndside)
		{
			max=thrdside;
			mid=fstside;
			min=scndside;
		}
		else
		{
			max=thrdside;
			mid=scndside;
			min=fstside;
		}
	}
	return main;
}
Естетвенно программа не работает теперь
Помогите разобраться с этими подпрограммами.

+

Тоже самое, программа работала правильно. Но опять намудрил с подпрограммами. Вообще не представляю что это

Задание: Вычислить выражение.

Код:
#include "stdafx.h"
#include "math.h"
#include "conio.h"
double f(double x, double y, double res);
int _tmain(void){
	double res,
		x,
		y;
	printf("enter x=");
	scanf_s("%lf", &x);
	printf("enter y=");
	scanf_s("%lf", &y);
	res = f(x, y, res);
	printf("result=%f",res);
	return 0;
}
double f(double x, double y, double res){
	res=x*x*x-2*log(3*y);
	res/=sqrt(sin(x*y)*sin(x*y));
	res+=exp(-x);
	return res;
}
Товарищи программисты помогите пожалуйста)
v1le вне форума Ответить с цитированием
Старый 25.10.2010, 22:48   #2
v1le
Пользователь
 
Регистрация: 25.10.2010
Сообщений: 13
По умолчанию

удалите тему.
v1le вне форума Ответить с цитированием
Старый 25.10.2010, 23:10   #3
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

Вот бы все так.... А то и спросят чушь и все равно ждут ответа, сами не шевелятся.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Ответ


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