Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверте пожалуйста программу, Проверте программу  
:(
    Опции темы
Divan92
Дата 5.5.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2011

Репутация: нет
Всего: нет



 Написал программу проверте пожалуйста в чём дело

Задача такая:1.    Определить наибольшую площадь треугольника, зданного длинами сторон в массиве:
 (а[0],а[1],а[2]) - длины сторон первого треугольника, (а[3],а[4],а[5]) - 
длины сторон второго треугольника и т.д. Использовать функцию определения площади треугольника.

Код

#include <iostream.h>
#include <stdlib.h>
#include <math.h>

int N;

int s(int a, int b, int c) 
{
int s;
  int p;
  p=a+b+c;
  s=sqrt(((p-a)*(p-b)*(p-c))/p);
  return s;
}



int main()
{
  srand((unsigned)time(NULL));
  cout<<"Vvedite chislo treugol'nikov:\n";
  cin>>N;
  int a[N], b[N], c[N],
  int ss[N], maxs=0;

  for(int i=1; i<=N; ++i)
  {
    a[i]=rand()%20;
    cout<<"a="<<a[i]<<"\n";
    b[i]=rand()%20;
    cout<<"b="<<b[i]<<"\n";
    c[i]=rand()%20;
    cout<<"c="<<c[i]<<"\n";
    ss[i]=s(a[i], b[i], c[i]);//òðè ôàêòè÷åñêèõ öåëî÷èñëåííûõ ïàðàìåòðà
    cout<<"ss="<<ss[i]<<"\n\n";
    if(ss[i]>=maxs)
    {
      maxs=ss[i];
       }
  }

  cout"<<"max ploshad="<<maxs<<"\n";

  system("pause");
}



Это сообщение отредактировал(а) Divan92 - 5.5.2011, 13:32
PM MAIL   Вверх
borisbn
Дата 5.5.2011, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(Divan92 @  5.5.2011,  13:23 Найти цитируемый пост)
  
p=a+b+c;  
s=sqrt(((p-a)*(p-b)*(p-c))/p);

откуда такая формула ? Если это - формула Герона, то она неправильная. см. формула http://ru.wikipedia.org/wiki/Формула_Герона

Цитата(Divan92 @  5.5.2011,  13:23 Найти цитируемый пост)
int a[N], b[N], c[N],

в конце должна быть не , а ;
и потом так выделять память для массивов с неизвестным заранее размером можно не во всех компиляторах. в MSVC 2008 - нельзя


Цитата(Divan92 @  5.5.2011,  13:23 Найти цитируемый пост)
 cout"<<"max ploshad="<<maxs<<"\n";

жуткая чехарда с кавычками... исправь так:
Код

cout << "max ploshad= " << maxs << "\n";


Цитата(Divan92 @  5.5.2011,  13:23 Найти цитируемый пост)
for(int i=1; i<=N; ++i)

массивы в Си++ начинаются с индекса 0 и заканчиваются N-1



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
asmdzen
Дата 5.5.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



Цитата(Divan92 @  5.5.2011,  13:23 Найти цитируемый пост)
a[i]=rand()%20;

может вернуть неправильный треугольник типа: a = 15, b = 3, c = 3;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.