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

Как из дружественной функции сделать метод - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица, максимальный элемент каждого столбца. http://www.cyberforum.ru/cpp-beginners/thread180661.html
Помогите пожалуйста с программой, не могу решить уже замучилась... Дана матрица 5х5. Найти максимальный элемент каждого столбца этоого массива. Заранее спасибо.
C++ Ввод и сортировка массива комплексных чисел Привет))) Пожалуйста, помогите мне создать эту программу!) Я буду вам благодарна) Разработать алгоритм и программу ввода с клавиатуры массива объектов – комплексных чисел и сортировки объектов в соответствии математическим алгоритмом задания. Вариант задания сортировки объектов по убыванию, модули которых сравнимы по модулю i и равны k (i-порядковый номер объекта) k=3 Программа... http://www.cyberforum.ru/cpp-beginners/thread180653.html
C++ Вычисление функции разложением в ряд
Помогите, пожалуйста, в решении задачи. Две недели бьюсь, никак решить не могу. Нужно составить программу для вычисления функции c помощью разложения в ряд: Вычислить и вывести на экран в виде таблицы значения функции на интервале от xn до xk с шагом dx с точностью eps. Для вычисления последующего члена ряда воспользоваться рекуррентной формулой Cn+1=Cn*T, где T - некоторый...
Разбор математических выражений C++
Добрый день, нуждаюсь в вашей помощи. Написал код программы для решения определённого уравнения методом половинного деления. Необходимо доработать код, чтобы можно было вводить и само уравнение с клавиатуры. Задание (В данной работе необходимо учесть, что программа должна подходить для решения не только приведенного в условии задачи уравнения и заданных для него интервалов, но для других...
C++ Сортировка http://www.cyberforum.ru/cpp-beginners/thread180621.html
Имеется довольно большой список людей, родившихся в США, с указанием штата, в котором они родились. Как подсчитать тех, кто родился в каждом штате? (Предпологается, что ни один человек не указан более одного раза. Как написать эту программу на СИ? Напишите ее с комментариями пожалуйста...или можно скинуть другую программу похожую.
C++ LSD сортировка Требуется написать LSD сортировку на массиве строк. В нете много этих сортировок только они на биты и байты. Помогите реализовать, плиз.!! подробнее

Показать сообщение отдельно
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
24.10.2010, 15:37
вот мой код, нормально всё работает...
#include "stdafx.h"
#include "tchar.h"
#include "string.h"
#include "stdio.h"
#include "locale.h"
#include "iostream"
#include "conio.h"
using namespace std;
class KOMPLEX
{ private:
double Re;
double Im;
public:
KOMPLEX (double e=0, double y=0)
{Re=e; Im=y;};
KOMPLEX minus(KOMPLEX f)
{ KOMPLEX Z(Re - f.Re, Im - f.Im);
return Z; };

friend KOMPLEX operator +(KOMPLEX a, KOMPLEX f)
{ KOMPLEX Z(a.Re + f.Re, a.Im + f.Im);
return Z;};
KOMPLEX umnog(KOMPLEX f)
{ KOMPLEX Z(Re * f.Re - Im * f.Im, Re * f.Im + Im * f.Re);
return Z; };
KOMPLEX delit(KOMPLEX f)
{ KOMPLEX Z((Re * f.Re + Im * f.Im) / (f.Re * f.Re + f.Im * f.Im),(Im * f.Re - Re * f.Im) / (f.Re * f.Re + f.Im * f.Im));
return Z;};
KOMPLEX sopr(KOMPLEX f)
{KOMPLEX Z(Re, -1 * Im);
return Z;};


void znak(KOMPLEX k) // cделать метод
{ if (k.Im<0) { printf("%lf %lfi \n", k.Re, k.Im);}
else printf("%lf + i%lf \n", k.Re, k.Im);};
void znak()
{cout << Re << ends << Im;}

void Get(double a, double b)
{
Re = a;
Im = b;
}

KOMPLEX KOMPLEX::operator ++(int)
{
KOMPLEX u(0,0);
u=*this;
Re++;
Im++;
return u;
};
KOMPLEX KOMPLEX::operator --(void)
{
KOMPLEX u(0,0);
u=*this;
Re--;
Im--;
return u;
};
};
class Vector: public KOMPLEX
{
private:
double Re;
double Im;
public:
KOMPLEX::operator --;
KOMPLEX::operator ++;
KOMPLEX::umnog;
KOMPLEX::minus;
// KOMPLEX::znak;

};

int _tmain()
{
setlocale (LC_ALL, "Russian");
KOMPLEX k, s;


int w;
double Re;
double Im;
int q=1;
KOMPLEX a, f;
do
{
printf("Введите 1оe числo \n ");
scanf_s("%lf %lf", &Re, &Im);
a.Get(Re, Im);
printf ("%lf + i%lf \n", Re, Im);

printf("Введите 2ое число \n ");
scanf_s("%lf %lf", &Re, &Im);
f.Get(Re, Im);
printf ("%lf + i%lf \n", Re, Im);


printf("Введите знак действи который хотите совершить -(1), +(2), *(3), /(4) или s(5) - что будет означать что вам необходимо найти сопряженное для 1ого комплексного числа: \n ");
cin >> w;
printf (" Ответ \n");
switch (w)
{
case 1:
{

a.znak(a.minus(f));
}
break;
case 2:
a.znak(a+f);
break;
case 3:
a.znak(a.umnog(f));
break;
case 4:
a.znak(a.delit(f));
break;
case 5:
a.znak( a.sopr(f));
break;
default: cout << "error\n";
};
printf ("Хотите повторить запрос нажмите 1, выйти нажмите 0 \n");
scanf_s ("%d", &q);
}
while (q==1);
system("pause");
exit(0);
_getch();
return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru