Найдите пож-та ошибку

  • Автор темы SergeyAKB
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SergeyAKB

#1
программа с какого-то хр*на выводит значения площадей в восьмеричном виде, и не ищет минимум!
найдите пож. ошибку.

Программа:
Код:
#include<iostream.h>
#include<conio.h>
#include<math.h>
float Minimum(int k,float P[5],float min);
float Ploshad(float c,float d,float u);
void main()
{ float M[5],T[5][3],h;
float mini=0;
int i, j, l=0;
clrscr();
for(i=0;i<5;i++)
{ cout<<"Eto "<<i<<" treugolnik\n";
for(j=0;j<3;j++)
{ cin>>T[i][j];
}
M[i]=Ploshad(T[i][0],T[i][1],T[i][2]);
cout<<Ploshad<<'\n';
}
for(i=0;i<5;i++)
{ if( Minimum(l,M,mini)==M[i])
h=T[i][1]*(sin(T[i][2]));
}
cout<<"Visota ravna: "<<h<<'\n';
cout<<"Ploshadi ravni:\n";
for(j=0;j<5;j++)
{ cout<<M[i]<<' ';
}
getch();
}
float Minimum(int k,float P[5],float min)
{ min = P[0];
for(k=1;k<5;k++)
{ if(min>P[k])
min=P[k];
}
return min;
}

float Ploshad(float c,float d,float u)
{ return((1/2)*c*d*sin(u*(3.14/180)));
}
 
C
#2
Что значит
M=Ploshad(T[0],T[1],T[2]);
cout<<Ploshad<<'\n';
?

в cout вызываешь Ploshad без параметров!
Может лучше так?
M=Ploshad(T[0],T[1],T[2]);
cout<<M<<'\n';


А с функцией minimum - вообще ерунда какя-то. Вот попробуй так:
int Minimum(float P[5]);
int Minimum(float P[5])
{ float min = P[0];
int ret=0;
for(int k=1;k<5;k++)
{ if(min>P[k]) {
min=P[k];
ret=k;
}
}
return ret;
}

Вернет тебе НОМЕР треугольника (начиная с нуля), площадь которого наименьшая. Ты этого хотел?
Тогда выводи результат:

int min=Minimum(M);
h=T[min][1]*(sin(T[2]));
cout<<"Visota ravna: "<<h<<'\n';
 
Статус
Закрыто для дальнейших ответов.