комплексное число представленое парой действительных чисел ( a, b)где a действительная часть, b-мнимая .Реализовать класс complex для работы с комплексными числами.Обязательно должны присутствовать следующие операции:
-сложения add (a,b)+(с,d)=(a+с,b+d);
-вычитания sub (a,b)-(с,d)=(a-с,b-d);
-умножение mul (a,b)*(с,d)=(aс-bd, ad+bc);
-деление div (a,b)/(с,d)=(aс+bd, ad-bc)/(c^2+d^2);
-сравнение egu (a,b)-(с,d) если (a=с) и (b=d);
должны быть реализованы сл. методы:
-метод инициализации Init
-ввод с клавиатуры Read
-вывод на экран Display
-преобразование в строку to String
1. тип данных представляется структурой с необходимыми полями, операции реализуются, как внешние функции, которые получают объекты данного типа в качестве оргументов
2. как класс с закрытыми полями,где операции реализуются как методы класса
3. инкапсулировать поля класса в независимой структуре и в ней реализовать методы Init(), Read(), Display(), to String(). в основном классе должно быть одно поле данных, представляемое объектом -структурой
]]>http://forum.codeby.net/go.php?http://forum.codeby.net/topic13964.html]]>
Molodoj chelowek... W zhizni, kazhdyj, dolzhen takuju progu napisat sam. Potomu chto eto 15 minut raboty. A mnogie k tebe po-drugomu otnositsia budut. A glawnoe sam k sebe budesh po-drugomu otnositsia.
Ну или если лень писать самому и готов заплатить: стучись в аську 367244151
Для: tansa
я не молодой человек!!!!!!!я девушка!и Это вам 15 минут писать,а я вообще в этом ничего не понимаю!
за 1 минуту в яндексе нашел
#include <iostream.h> // overlfriend.cpp
class complex
{
double real, imag;
public:
complex(double r=0, double i=0) { real=r; imag=i; };
friend complex operator+(complex,complex);
friend complex operator*(complex,complex);
void outp(){cout<<"real= "<<real<<" imag= "<<imag<<endl;};
};
complex operator+(complex a1, complex a2)
{
return complex(a1.real+a2.real, a1.imag+a2.imag);
}
complex operator*(complex a1, complex a2)
{
return complex((a1.real*a2.real)+(a1.imag*a2.imag),(a1.real*a2.imag+a1.imag*a2.real));
}
int main(int argc, char* argv[])
{
complex c1(3.5,4.8),c2(1.2,9.4),c3,c4;
int i;
c3=c1+c2*c1;
c3.outp();
c3=c1*c2;
c3.outp();
c4=c3+complex(1.2,3.5);
c4.outp();
cin>>i;
return 0;
}Для: tansa
что за сет-гет методы???? вот что я добавила!
//---------------------------------------------------------------------------
#include<math.h>
#include <iostream.h> // overlfriend.cpp
class complex
{
double real, imag;
public:
complex(double r=0.0, double i=0.0) { real=r; imag=i; };
friend complex operator+(complex,complex);
friend complex operator*(complex,complex);
friend complex operator-(complex,complex);
friend complex operator/(complex,complex);
void display(){cout<<"real= "<<real<<" imag= "<<imag<<endl;};
};
complex operator+(complex a1, complex a2)
{
return complex(a1.real+a2.real, a1.imag+a2.imag);
}
complex operator*(complex a1, complex a2)
{
return complex((a1.real*a2.real)-(a1.imag*a2.imag),(a1.real*a2.imag+a1.imag*a2.real));
}
complex operator-(complex a1, complex a2)
{
return complex(a1.real-a2.real, a1.imag-a2.imag);
}
complex operator/(complex a1, complex a2)
{
return complex(((a1.real*a2.real+a1.imag*a2.imag),(a1.imag*a2.real-a1.real*a2.imag))/((pow(a2.real,2)+pow(a2.imag,2))));
}
complex operator*(complex a1, complex a2);
int main(int argc, char* argv[])
{
complex c1(3.5,4.8),c2(1.2,9.4),c3,c4;
int i;
c3=c1+c2;
c3.display();
c3=c1*c2;
c3.display();
c3=c1-c2;
c3.display();
c3=c1/c2;
c3.display();
cin>>i;
return 0;
}
а вот как дальше чего-то не пойму!
Помогите пожалуйста!!!
Задачка то простая!
Дана произвольная квадратная матрица. Удалить из неё строку и столбец на пересечении которой находится максимальный элемент данной диагонали.
Пример:
существует массив
1 2 3
4 5 6
7 8 9
Максимальный элемент - 9, удаляем строку 3 и столб 3.
Помогите плиз!
Что то в этом роде, но на ошибки проверяй, бо писал в блакноте
//**********************
int Mas[10][10];
int ResMas[9][9];
//====== Находим максимальное и его индексы ======
void FindMax(int *iMax, int *jMax)
{
int Max = Mas[0][0];
*iMax = 0;
*jMax = 0;
for(int i = 0; i<10 ;i++)
for(int j = 0; j<10; j++)
if(Max < Mas[i][j])
{
Max = Mas[i][j];
*iMax = i;
*jMax = j;
}
}
//====== Переписываем в результирующий массив ====
void main()
{
int Max,iMax,jMax;
int n = 0, m = 0;
FindMax(&iMax,&jMax);
for(int i = 0; i<9; i++ )
if(i != iMax)
{
for(int j = 0; j<9; j++)
if(j != jMax)
{
ResMas[n][m] = Mas[i][j];
m++;
}
n++;
}
}
//*********************
Условие задачи:
существует двумерный массив. Удалить строку и столбец, на пересечении которых находится максимальный элемент.
Поясню:
1 5 9
6 3 1
2 4 8
Максимальный элемент = 9, значит удаляем строку №1 и столбец №3.
Посмотрите, вот я написал программу на половину.
Есть косяки, которые я исправить немогу, незнаю как. Помогите пожалуста.
Вот исходник программы, написанный мной.
#include <stdio.h>
#include <iomanip.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define IC for (i=0;i<n;i++)
#define JC for (j=0;j<n;j++)
int i,j,n;
int A[100][100];
int Anew[100][100];
void print_matrix(void);
int main(void)
{
cout<<"Vvedite razmernost massiva: "<<ends;
cin>>n;
cout<<"Vvedite "<<n*n<<" elementov massiva:"<<endl;
IC
JC
cin>>A[j];
print_matrix();
return 0;
}
void print_matrix(void)
{
cout<<"Massiv: "<<endl;
cout<<"\n==================="<<endl;
IC
{
JC
cout<<setprecision(4)<<setw(5)<<A[j];
cout<<endl;
}
cout<<"==================="<<endl;
int max;
max=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(A[j]>max)
max=A[j];
cout<<"Maximalniy element: "<<max;
int mas = A[0][0],mrow,mcol;
{ IC
JC
if(A[j]>max)
max=A[j];
mrow =i;
mcol =j;
}
cout<<"\nKoordinati max. elementa: ["<<mrow<<"]["<<mcol<<"]";
getch();
}
Вот там где присваиваются значения номер строки и номер столбца переменным mrow и mcol почему то не работают в выводе строки. И помогите дальше дописать, создать новый массив, уже с удалённой строчкой и столбцом.
Помогите пожалуста, завтра нужно сдать уже.
Вот, если ещё нужно.
#include <iomanip.h>
#include <conio.h>
#include <string.h>
int n;
int* A;
//int A[100][100];
//int Anew[100][100];
void print_matrix(void);
int main(void)
{
n = 0;
cout<<"Vvedite razmernost massiva: "<<ends;
cin>>n;
cout<<"Vvedite "<<n*n<<" elementov massiva:"<<endl;
// Вместо статического массива создаём динамический
// размером n X n
A = new int[n*n];
// Заполним 0-ми выделенную память
memset(A, 0, n*n*sizeof(int) );
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin >> A[i*n+j];
print_matrix();
delete A;
return 0;
}
void print_matrix(void)
{
int i, j;
cout<<"Massiv: "<<endl;
cout<<"\n==================="<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
cout<<setprecision(4)<<setw(5)<<A[i*n+j];
cout<<endl;
}
cout<<"==================="<<endl;
int max = 0;
int mrow = 0;
int mcol = 0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(A[i*n+j]>max)
{
max=A[i*n+j];
mrow = i;
mcol = j;
}
}
cout<<"Maximalniy element: "<<max;
cout<<"\nKoordinati max. elementa: ["<<mrow<<"]["<<mcol<<"]"<<endl<<endl;
int nNew = n-1;
int iNew=0, jNew=0;
int* Anew = new int[nNew*nNew];
for(i=0; i<n; i++)
{
if(i != mrow)
{
for(j=0; j<n; j++)
{
if(j != mcol)
{
Anew[iNew*nNew+jNew] = A[i*n+j];
jNew++;
}
}
iNew++;
jNew=0;
}
}
cout<<"New Massiv: "<<endl;
cout<<"\n==================="<<endl;
for(i=0; i<nNew; i++)
{
for(j=0; j<nNew; j++)
cout<<setprecision(4)<<setw(5)<<Anew[i*nNew+j];
cout<<endl;
}
cout<<"==================="<<endl;
delete Anew;
getch();
}2SunSanych: Спасибо тебе огромное!!!
Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)