Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
29:04:2007, 18:30
|
|
Новенький Группа: Новенький Сообщений: 3 Регистрация: 29:04:2007 Пользователь №: 10 557 Репутация: 0
|
комплексное число представленое парой действительных чисел ( 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(). в основном классе должно быть одно поле данных, представляемое объектом -структурой |
|
Сообщение
#1
|
|
![]() |
|
|
30:04:2007, 08:08
|
|
Божественный Группа: Модеры Сообщений: 2 013 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Репутация: 32
|
|
|
Сообщение
#2
|
|
|
|
30:04:2007, 09:38
|
|
Новенький Группа: Новенький Сообщений: 46 Регистрация: 24:04:2007 Пользователь №: 10 453 Репутация: 1
|
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.
|
|
Сообщение
#3
|
|
|
|
30:04:2007, 21:31
|
|
Новенький Группа: Программист Сообщений: 17 Регистрация: 27:02:2007 Пользователь №: 9 457 Репутация: 0
|
Ну или если лень писать самому и готов заплатить: стучись в аську 367244151
|
|
Сообщение
#4
|
|
|
|
2:05:2007, 06:38
|
|
Новенький Группа: Новенький Сообщений: 3 Регистрация: 29:04:2007 Пользователь №: 10 557 Репутация: 0
|
Для: tansa
я не молодой человек!!!!!!!я девушка!и Это вам 15 минут писать,а я вообще в этом ничего не понимаю! |
|
Сообщение
#5
|
|
|
|
2:05:2007, 09:48
|
|
Почетный секретчик Группа: Модеры Сообщений: 1 191 Регистрация: 30:09:2003 Из: Брест Пользователь №: 58 Репутация: 3
|
за 1 минуту в яндексе нашел
есть сложение и умножение. остальное дописать оставляю тебе |
|
Сообщение
#6
|
|
|
|
2:05:2007, 15:46
|
|
Новенький Группа: Новенький Сообщений: 46 Регистрация: 24:04:2007 Пользователь №: 10 453 Репутация: 1
|
Цитата(???? @ 2:05:2007, 11:48 ) Мне честно даже яндекс открывать лень было.... Для: gnomik Ну тогда извините, не в коем случае не хотел обидеть, но признаков пола я не встретил А что по коду, то можно добавить сет-гет методы и тогда эти операторы не должны будут быть friend. |
|
Сообщение
#7
|
|
|
|
2:05:2007, 16:18
|
|
Новенький Группа: Новенький Сообщений: 3 Регистрация: 29:04:2007 Пользователь №: 10 557 Репутация: 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; } а вот как дальше чего-то не пойму! |
|
Сообщение
#8
|
|
|
|
10:05:2007, 17:45
|
|
Новенький Группа: Новенький Сообщений: 6 Регистрация: 8:05:2007 Пользователь №: 10 726 Репутация: -1
|
Помогите пожалуйста!!!
Задачка то простая! Дана произвольная квадратная матрица. Удалить из неё строку и столбец на пересечении которой находится максимальный элемент данной диагонали. Пример: существует массив 1 2 3 4 5 6 7 8 9 Максимальный элемент - 9, удаляем строку 3 и столб 3. Помогите плиз! |
|
Сообщение
#9
|
|
|
|
11:05:2007, 07:58
|
|
Новенький Группа: Новенький Сообщений: 59 Регистрация: 5:04:2007 Пользователь №: 10 093 Репутация: 0
|
Что то в этом роде, но на ошибки проверяй, бо писал в блакноте
//********************** 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++; } } //********************* |
|
Сообщение
#10
|
|
|
|
16:05:2007, 19:18
|
|
Новенький Группа: Новенький Сообщений: 6 Регистрация: 8:05:2007 Пользователь №: 10 726 Репутация: -1
|
Условие задачи:
существует двумерный массив. Удалить строку и столбец, на пересечении которых находится максимальный элемент. Поясню: 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 почему то не работают в выводе строки. И помогите дальше дописать, создать новый массив, уже с удалённой строчкой и столбцом. Помогите пожалуста, завтра нужно сдать уже. |
|
Сообщение
#11
|
|
|
|
17:05:2007, 08:21
|
|
Новенький Группа: Новенький Сообщений: 62 Регистрация: 28:06:2006 Пользователь №: 5 086 Репутация: 2
|
Вот, если ещё нужно.
Без проверки на ошибки и т.д и т.п. Я бы писал не так, но что есть, то есть. Кстати можно обойтись и без создания нового массива, а вывод делать из исходного с пропуском нужного столбца и колонки. |
|
Сообщение
#12
|
|
|
|
17:05:2007, 16:30
|
|
Новенький Группа: Новенький Сообщений: 6 Регистрация: 8:05:2007 Пользователь №: 10 726 Репутация: -1
|
2SunSanych: Спасибо тебе огромное!!!
|
|
Сообщение
#13
|
|
![]() |
|
Текстовая версия | Сейчас: 2:12:2008 - 21:18 |