Народ! нужна ваша помощь) как бы это банально не звучало, но в сдаче сессии(мать ее перемать). Осталось доделать 2 задачи. Не думаю, что для вас они будут сверхсложными. Но мне, алкоголику и тунеядцу, надо много времени чтобы их осилить. если не трудно - помогите пенсионеру) 1. Построить систему классов для описания плоской геометр. фигуры - КВАДРАТ. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. // вобщем нужны координаты вершин только. 2. Подсчитать число максимальных элементов списка. ..никогда не дружил с указателями всем заранее спасибо. Вы лучшие)
2. Подсчитать число максимальных элементов списка. Code: #include <list> #include <algorithm> template<typename T> size_t CountMaxElems(const std::list<T> &ll) { std::list<T>::const_iterator it = std::max_element(ll.begin(), ll.end()); if(it == ll.end()) return 0; return std::count(ll.begin(),ll.end(), *it); }
в std::list на каждый узел хранится указатель на предыдущий и последующий элемент, так что указатели там есть, правда скрыты от глаз
Code: class rect { private: double a; //сторона double s; //плосчадь double p; //периметер struct pos {double x; double y;} ; pos rectPos [3]; public: rect()//конструктеръ { rectPos = {{0,0},{0,0},{0,0},{0,0}} a=0; p=0; s=0; } setRect(double x1, double y1, double x2, double y2) //задаем размеры и координаты квадрата( по двум тчк(т.е. коорд левого нижнего и верхнего углов), тк квадрат можетЪ стоять не вертикально) { //a=sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)); вобщем както так... rectPos[0]={x1,y1}; rectPos[1]={x2,y2}; rectPos[2]={(y2-y1),(x2-x1)};//могу доказать почему)) rectPos[3]={(x2+ rectPos[1][1]), (y2+ rectPos[1][2])}; p=4*a; s= a*a; } double getS() { return s; } double getP() { return p; } pos getPos() { return rectPos; } void move( double diff_X, double diff_Y) { int i =0; while ( i<4) { rectPos[i].x=rectPos[i].x + diff_x; rectPos[i].y=rectPos[i].y + diff_y; i++; } } void turnPoint (pos a, double corn) {/*coming soon))) напишите ктонить, я билеты учу*/} void turn (double corn) {int i=0; while (i<4) { turnPoint (rectPos[i],corn); i++; } } чота в этом духе..... тока я синтаксис сишки не помню...короч переделаешь ------------------------------ДОПИСАЛ-------------------------------
в стандарте есть Table 11—C++ Library Headers <algorithm> <iomanip> <list> <queue> <streambuf> <bitset> <ios> <locale> <set> <string> <complex> <iosfwd> <map> <sstream> <typeinfo> <deque> <iostream> <memory> <stack> <utility> <exception> <istream> <new> <stdexcept> <valarray> <fstream> <iterator> <numeric> <strstream> <vector> <functional> <limits> <ostream>
Ды я мож и скачаю.... тока вот админы в универе ленивые как падлы. у них есть старье, оно работает и всем заебис. так что надо писать на старье)