PDA

View Full Version : Помощ по ООП /2 задачи/



Tempest
06-12-2010, 11:34
Понеже нямам никаква идея от C++, а имам да правя курсова работа.. и оценката ми трябва, представи си.. ии може ли да ви помоля да ми решите 2 задачки :) плиииийс :P

1. Открийте грешките в следния код:

include <iostream.h>
int main()
{cout<<"n= ";
cin<<n;
int n;
if (!cin)
{cout<<"Error. Bad input! \n";
return 1;
}
if (n<=0)
{
cout<<"Incorrect input! \n";
}
return 1;
int fact=1;
for (int i=1; i<=n; i++)
fact=fact*i;
cout<<n<<"! = "<<fact<<"\n";
return 0;
}

и задача 2. В двумерен масив са зададени оценки /редовете са студенти, стълбовете - предмети/. Отпечатайте номерата на студентите с мн. добър и отличен среден успех.


Благодаря предварително! :P

Ge7OverHere
06-12-2010, 13:53
#include <iostream.h>
int main()
{cout<<"n= ";
int n;
cin>>n;
if (!cin)
{cout<<"Error. Bad input! \n";
return 1;
}
if (n<=0)
{
cout<<"Incorrect input! \n";
return 1;
}
int fact=1;
for (int i=1; i<=n; i++)
fact=fact*i;
cout<<n<<"! = "<<fact<<"\n";
return 0;
}

JoyfulCompany
06-13-2010, 18:20
#include <iostream>
using namespace std;

/* да кажем, че са ти предварително зададени следните:
double M[...][...] = {{...}, {...}, ...}; - масива с оценките
int num = ...; - брой ученици
int subjects = ...; - брой предмети
*/


int main()
{
double results = 0;
for (int i = 0; i < num; ++i)
{
for (int j = 0; j < subjects; ++j)
results += M[i][j];
if (results/subjects >= 4.5)
cout << i + 1 << endl;
results = 0;
}
return 0;
}

Доколкото разбрах номер на ученик е номерът на реда с оценките му?
И тъй като вътрешно индексирането започва от 0, коригирах i+1, за да бъде по-естествен поредния номер на ученика (да няма "нулев").
Това е доста проста задача, що не си научил синтаксиса на C++ досега, а? : )

П.П. В крайния изглед на поста не си личи идентацията, гадост.

Tempest
06-13-2010, 20:33
благодаря ви много!

Защо не съм го учил ли? За да мога да уча другите 2 езика, които ни преподават тази година... и бих казал, че по тях съм на що-годе добро ниво... отново благодаря за бързите отговори! Да имаше как да ви черпя по една студена бира в тая жега ;)

alekso
05-30-2012, 11:47
Помощ по ООП:Да се състави програма,която пресмята лицето на фигура.Фигората може да бъде :триъгалник,правоъгалник или окражност ;Понеже нямам никаква идея от C++, а имам да правя курсова работа.. и оценката ми трябва, представи си.. ии може ли да ви помоля да ми решите плиииийс :P

MrCreeper
05-30-2012, 18:51
#include <iostream>
#include <cmath>

using namespace std;

char A;
long double a, b, c, R, lice, p;

int main()
{
cin>>A;

if (A=='T')
{
cin>>a>>b>>c;
p=(a+b+c)/2;
lice=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<lice<<endl;
return 0;
}

if (A=='Q')
{
cin>>a>>b;
lice=a*b;
cout<<lice<<endl;
return 0;
}

if(A=='C')
{
cin>>R;
lice=3.14*pow(R, 2);
cout<<lice<<endl;
return 0;
}
}


Дано няма грешки!

djeis
05-17-2016, 08:48
Здравейте, може ли да ми помогнете за решението на задачата.

Като използвате изучените средства на ООП съставете програма, съдържаща йерархия от класове, моделиращи кръг, сфера, цилиндър и кух цилиндър с определена дебелина на околната стена. В основния клас на йерархията да се предвиди метод за отпечатване лицето на произволна фигура. В програмата да се декларират обекти от всички класове и да се отпечатат лицата им.

StringTheoryPracticist
05-20-2016, 12:32
Здравейте, може ли да ми помогнете за решението на задачата.

Като използвате изучените средства на ООП съставете програма, съдържаща йерархия от класове, моделиращи кръг, сфера, цилиндър и кух цилиндър с определена дебелина на околната стена. В основния клас на йерархията да се предвиди метод за отпечатване лицето на произволна фигура. В програмата да се декларират обекти от всички класове и да се отпечатат лицата им.
Всъщност мисля, че ще ти е много полезно да си решиш тая задача. Пиши ни ако се затрудняваш с нещо конкретно и обясни какво.

Ако не знаеш даже как да подходиш сигурно не си разбрал(а) урока изобщо и съветвам да го прочетеш пак.