Форум программистов, компьютерный форум CyberForum.ru

Дружественная функция - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать функцию Parse(s,t) http://www.cyberforum.ru/cpp-beginners/thread187003.html
Разработать функцию, которая выполняет обработку символьной строки. При реализации функции запрещается пользоваться функциями библиотек языка C. Функция - Parse(s,t). Назначение - разделение строки s на две части: до первого вхождения символа t и после него.
C++ Как возвести число в степень Как возвести число в степень ??? http://www.cyberforum.ru/cpp-beginners/thread186996.html
цикл for... C++
Я написал программу: #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void main (void) { int c; for(c=0;c<=100;c+=5);
C++ Ввести строку и слово, удалить все вхождения слова и вывести строку
помогите с лабой! Добавлено через 22 секунды через <stdio.h>
C++ Перемещение файла http://www.cyberforum.ru/cpp-beginners/thread186979.html
Здраствуйте, подскажите как написать программу которая перемещала бы фаил из одной папки в другую, тоесть у меня есть две папки 1 и 2 в папки 1 есть фал в формате dat который надо заменить на фаил из папки 2. Как это реализовать? Я думал просто переписать можно но что то сомневаюсь что будет правильно работать если переписывать файлы
C++ Структуры задача Ввести данные в табл. 2. Отсортировать список студентов по принадлежности к кафедре. В рамках кафедры разместить информацию в алфавитном порядке. Результаты сортировки в табл. 2. таблица 2 прикреплена в файле PDF кто может решить напишите пожалуйста, заранее благодарен подробнее

Показать сообщение отдельно
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19

Дружественная функция - C++

06.11.2010, 14:26. Просмотров 629. Ответов 9
Метки (Все метки)

У меня есть класс, подсчитывающий количество равносторонних треугольников в заданном множестве точек на плоскости.
Подскажите, пожалуйста, почему не работает дружественная функция setK? (Ошибок компилятор не выдаёт, но функция не работает)

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream.h>
#include <math.h>
int const n=5;
class Triangle
{private:
    friend void setK (Triangle,int);
    int x[n];
    int y[n];
public:
    Triangle ();
    ~Triangle();
    void setcoord (int[],int[]);
    void rTriangle (int[],int[]);
};
void setK (Triangle c,int val)
    {for (int i=0;i<n;i++)
        {c.x[i]=val;
        c.y[i]=val;
        }
    }
Triangle::Triangle()
    {for (int i=0;i<n;i++)
    x[i]=y[i]=0;
    }
Triangle::~Triangle() {}
void Triangle::setcoord (int x[n],int y[n])
    {for (int i=0;i<n;i++)
        {if (x[i]<0) x[i]=0;
        if (y[i]<0) y[i]=0;
        }
    }
void Triangle::rTriangle (int x[n],int y[n])
    {int j=0;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))) j++;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[3]-x[0]),2)+pow((y[3]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2)) && sqrt(pow((x[1]-x[0]),2)+pow((y[1]-y[0]),2))==sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))) j++;
    if (sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2))==sqrt(pow((x[2]-x[3]),2)+pow((y[2]-y[3]),2)) && sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2))==sqrt(pow((x[3]-x[0]),2)+pow((y[3]-y[0]),2))) j++;
    if (sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2))==sqrt(pow((x[2]-x[0]),2)+pow((y[2]-y[0]),2)) && sqrt(pow((x[4]-x[0]),2)+pow((y[4]-y[0]),2))==sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2))) j++;
    if (sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2)) && sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2)) && sqrt(pow((x[2]-x[1]),2)+pow((y[2]-y[1]),2))==sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))) j++;
    if (sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))==sqrt(pow((x[4]-x[3]),2)+pow((y[4]-y[3]),2)) && sqrt(pow((x[4]-x[1]),2)+pow((y[4]-y[1]),2))==sqrt(pow((x[3]-x[1]),2)+pow((y[3]-y[1]),2))) j++;
    if (sqrt(pow((x[4]-x[2]),2)+pow((y[4]-y[2]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2)) && sqrt(pow((x[4]-x[3]),2)+pow((y[4]-y[3]),2))==sqrt(pow((x[3]-x[2]),2)+pow((y[3]-y[2]),2))) j++;
    for (int i=0;i<n;i++)
                {for (int p=i+1;p<n;p++)
                    {if (x[i]==x[p] && y[i]==y[p]) j=0;
                    }
                }
    cout << "Kol-vo ravnostoronnich treugolnikov=" << j << "\n";
    }
 
void main()
    {Triangle t;
    int x[n];
    int y[n];
    bool flag;
    do
        {flag=true;
        cout << "Vvedite koordinaty tochek \n";
            for (int i=0;i<n;i++)
                {cout << i+1 << ":";
                cin >> x[i] >> y[i];
                }
            for (i=0;i<n;i++)
                {for (int p=i+1;p<n;p++)
                    {if (x[i]==x[p] && y[i]==y[p]) flag=false;
                    }
                }
        }
    while (flag==false);
    t.setcoord (x,y);
    t.rTriangle (x,y);
    setK (t,8);
    for (int i=0;i<n;i++)
    cout << x[i] << " ";
    cout << "\n";
    t.setcoord (x,y);
    t.rTriangle (x,y);
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru