Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 17:36   #1
aka_faith
Пользователь
 
Аватар для aka_faith
 
Регистрация: 15.05.2009
Сообщений: 74
По умолчанию помогите написать функцию-член на Си++

О ужас! Лето, хочется на море, а тут сидишь и пытаешься написать программку...
Доброе врремя суток Всем! Чудесного Вам дня и отличного настроения!!!)))

А теперь ближе к телу))) Очень нужна помощь...

Задание:
Создать два объекта с использованием разных конструкторов, вызвать необходимые методы для обработки объектов с выводом полученных результатов.

Методы для задания:
параметр Р определяется, как
Отношение произведения ненулевых элементов к сумме положительных элементов матрицы.(*)
если P>0, то
К максимальному элементу каждого столбца матрицы прибавить такое значение, чтобы сумма элементов в этом столбце стала равна 0.(**)

-- в написании этих методов и заключается проблемка, подскажите алгоритм этих ф-ций, плиз

Вот мой листинг:

Код:
#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<math.h>
#include<conio.h>

class matr
{
private:
float *x,*p;
int n,m;

public:
matr();//конструктор без параметров
matr(int,int,float,float,float);//с параметрами
~matr();// деструктор
void print();//печать
void otnosh(float *p);//определяет параметр Р (*)
void znach();//если Р>0, то определяем значение (**)
};

matr::matr()
{
 cout<<endl<<"Vvedite rasmernost"<<endl;
 cout<<"n="; cin>>n;
 cout<<endl<<"m="; cin>>m;
 x=new float [n*m];
 for (int  i=0; i<m; i++)
   for (int j=0; j<n; j++)
   *(x+i*n+j)=-20+40*(float)rand()/RAND_MAX;
 cout<<endl<<"Rabotal konstructor bes parametrov";
}

matr::matr(int M,int N, float A, float B, float C)
{
 m=M; n=N;
 x=new float[n*m];
 for (int i=0; i<m; i++)
   for (int j=0; j<n; j++)
   *(x+i*n+j)=A*tan(i+B)*asin(j+C)*asin(j+C);
 cout<<endl<<"Rabotal konstructor s parametrami";
}

matr::~matr()
{
 delete[]x;
 cout<<endl<<"Rabotal destructor";
 getch();
}

void matr::print()
{
 for (int i=0; i<m; i++, printf("\n"))
   for (int j=0; j<n; j++)
   printf("%10.3f",*(x+i*n+j));
}

void matr::otnosh(float *p)
{
 *p=1;
 float s=0, pr=1;

 printf("\n P=%9.2f\n",*p);
}

void matr::znach()
{
 float s, max, zn;

 printf("\n max=%9.2f\n",max);
 printf("\n zn=%9.2f\n",zn);
}

void main()
{
 clrscr();
 matr a;
 int m1, n1;
 float A,B,C;
 a.print();
 a.otnosh(&p);
 if (p>0)
 {a.znach();
 a.print();}
 else cout<<endl<<"P<0 - Uslovie ne vipolnyaensja";
 getch();

 clrscr();
 cout<<endl<<"Vvedite razmer matrici"<<endl;
 cout<<"n=";cin>>n1;
 cout<<endl<<"m="; cin>>m1;
 cout<<endl<<"Vvedite A"; cin>>A;
 cout<<endl<<"Vvedite B"; cin>>B;
 cout<<endl<<"Vvedite C"; cin>>C;
 matr b(m1,n1,A,B,C);
 b.print();
 b.otnosh(&p);
 if (p>0)
 {b.znach();
 b.print();}
 else cout<<endl<<"P<0 - Uslovie ne vipolnyaensja";
 getch();
}
aka_faith вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите написать функцию SkCr Microsoft Office Excel 5 14.03.2009 23:47
помогите написать функцию SkCr Помощь студентам 2 14.03.2009 21:24
Помогите написать функцию плиз.Не получается Clockgen Microsoft Office Excel 2 14.12.2008 22:01
Помогите написать функцию Черничный Общие вопросы Delphi 4 13.08.2008 07:02