Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Beverly
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
1

Выявление ошибки

07.11.2013, 20:14. Просмотров 520. Ответов 9
Метки нет (Все метки)

Помогите, пожалуйста, исправить программу (в функции treug в качестве параметра нужно использовать указатель *p), затем его использовать при вызове функции.
Заранее большое спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream.h>
#include <stdio.h>  //vvod-vyvod
#include <math.h>
void treug(float a, float b, float c, int *p)
{
(*p)=0;
if ((a+b>c) || (b+c>a) || (c+a>b))
{(*p)=1;
  printf ("Treug sush."); }
}
 
float area (float a, float b, float c)             //naidem ploshad treug.
{
float p = (a+b+c)/2;
return   sqrt(p*(p-a)*(p-b)*(p-c));  //vozvrach. sqrt
}
 
 
int main ()
{
     float a, b, c, d;   //vvod dannyh
    printf ("A");
     scanf ("%f", &a);
     printf ("B");
     scanf ("%f", &b);
     printf ("C");
     scanf ("%f", &c);
     printf ("D");
     scanf ("%f", &d);
 
     treug(1.0,2.0,a);
     treug(1.0,2.0,b);
         treug(1.0,2.0,b);
          if (a &&  treug(2.0,2.5,b) && treug(2.5,d,c))  //proverka sush.treh treug-ov
       cout << "area = " << (area(1.0,2.0,a)+area(2.0,2.5,b)+area(2.5,d,c)) << endl;    //nahozd.ploshadi 5-tyugolnika, kak summy plos.treh treug-ov
   else printf ("Postroit nelzya!");
   return 0;
   }
 Комментарий модератора 
Пользуйтесь тегами форматирования кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2013, 20:14
Ответы с готовыми решениями:

Выявление нуля в числе
Дано трехзначное число. Определить есть ли в данном числе хотя бы один ноль....

Выявление повторяющихся слов!
// 3.5.1.cpp : Defines the entry point for the console application. // ...

Выявление кода .exe приложения
У меня тут такой вопрос: Можно ли просмотреть код .exe программы? Программа не...

Выявление двух самых больших чисел из ряда
задача такова мы вводим любые числа от одного до десяти, задача программы...

Выявление самых ярких точек на чёрно-белом изображении
сканирование растрового изображения по пикселям и возможность автоматически...

9
ssXXss
266 / 188 / 33
Регистрация: 15.01.2011
Сообщений: 681
07.11.2013, 20:35 2
C++
1
2
3
4
5
6
7
8
9
10
void treug(float a, float b, float c, int *p);
//...
float a, b, c, d; //vvod dannyh
int x = 0;
treug(a,b,c,&x);
//...
void treug(float a, float b, float c, int *p)
{
  //...
}
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
07.11.2013, 21:40 3
у вас в описании функции есть указатель, а в вызове функции его нет и по умолчанию он не предусмотрен
0
Beverly
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
07.11.2013, 21:45  [ТС] 4
Помогите исправить код, пожалуйста.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
07.11.2013, 21:51 5
что ваша программа должна делать и зачем ей этот указатель? )
0
Beverly
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
07.11.2013, 21:53  [ТС] 6
Вот честно: не знаю.
Программа и без него прекрасно работает. Но учитель сказал, что нужно использовать указатель.
Программа должна находить площадь пятиугольника.
У нас две функции (существует ли треугольник и площадь треугольника)
Меня конкретно синтаксис волнует
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
07.11.2013, 22:06 7
указатель у вас используется в качестве bool, т.е. если треугольник существует то он возвращает 1 (или true), но было бы проще делать через bool treug(ваши аргументы);

ну если синтаксис то тут ошибка, я не понимаю что это вообще такое...
C++
1
[quote="Beverly;5301672"]if (treug(1.0,2.0,a); treug(1.0,2.0,b); treug(1.0,2.0,c); ) && (treug(2.0,2.5,b);treug(2.0,2.5,a);treug(2.0,2.5,c); ) && (treug(2.5,d,c); treug(2.5,d,b); treug(2.5,d,a); )[/quote]
здесь надо по умолчанию выставить ему 0
C++
1
void treug(float a, float b, float c, int *p=0)
ещё 1 переменную добавьте в прогу т.к. у вас только стороны a,b,c,d какбы по ним пятиугольник не построить
0
programina
2050 / 605 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
13.11.2013, 08:39 8
а текст ошибки полностью можно?
0
dima55501
30 / 34 / 11
Регистрация: 14.07.2013
Сообщений: 146
13.11.2013, 08:46 9
Функция void treug ничего не возвращает. Ее нельзя добавить в конструкцию if. Попробуй поменять тип возвращаемого значения.
0
Beverly
0 / 0 / 1
Регистрация: 26.09.2013
Сообщений: 51
13.11.2013, 21:33  [ТС] 10
not an allowed type
Помогите исправить ошибку, пожалуйста
0
13.11.2013, 21:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 21:33

Алгоритмы анализа программных кодов на выявление недекларированных возможностей
Помогите пожалуйсто. Необходим материал (литература, ссылки на исходные тексты...

Выявление такого же ай-пи/мак адреса
Усем здрасти!) имеется необходимость написать приложение, которое, бы...

Выявление периодичности функции, заданной численно
Здравствуйте. В ходе работы программы формируется массив коэффициентов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru