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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2011, 23:55   #11
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <iterator>
#include <sstream>
#include <list>
 struct rect
{
	 double X1, X2, Y1, Y2, square;
	 rect( double x1, double x2, double y1, double y2) : X1(x1), X2(x2), Y1(y1), Y2(y2), square ( fabs(x1-x2)*fabs(y1-y2) ){}
	  friend std::ostream &operator << ( std::ostream &lhs, const rect &rhs)
	 {
	    std::stringstream ss;
	    ss << "x1= " << rhs.X1 << ", x2= " << rhs.X2 << ", y1= " << rhs.Y1 <<", y2= " << rhs.Y2 << "; Площадь= " << rhs.square << "\n\r";
	   return lhs << ss.str();
	 }
	  bool operator < ( const rect &r)
	 {
	   return this->square < r.square;
	 }
};

 int main( int argc, char* argv[])
{
	setlocale( LC_ALL,"Russian");
	int count_rect;
	std::list< rect> rectangle;
	std::cout << "Введите количество прямоугольников :" << std::endl;
	std::cin >> count_rect;
	while ( count_rect--)
	{
		std::cout << "Введите координаты прямоугольника X1, X2, Y1, Y2 :" << std::endl;
		double x1, x2, y1, y2;
		std::cin >> x1 >> x2 >> y1 >> y2;
		rectangle.push_back( rect(x1, x2, y1, y2));
	}
	rectangle.sort( );
	std::cout << "Отстортированные прямоугольники по площади :" << std::endl;
	copy ( rectangle.begin(), rectangle.end(), std::ostream_iterator< rect> ( std::cout) );
	std::ofstream out_file ( "koord.txt");
	copy ( rectangle.begin(), rectangle.end(), std::ostream_iterator< rect> ( out_file) );
	out_file.close( );
	system("pause");
	return 0;
}

Последний раз редактировалось An1ka; 30.06.2011 в 00:11.
An1ka вне форума Ответить с цитированием
Старый 30.06.2011, 13:25   #12
Nedward
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 85
По умолчанию

Решение изящней моего
Жаль только, что похоже автору нужно решение без STL.
Вот, когда учился, не понимал я некоторых преподавателей. Задачу вроде решил правильно, а тебе в ответ "Молодец! Только закручивать лампочки, стоя на стремянке мы еще не проходили. Нет, и табуретку брать нельзя. Вот тебе проволока, прикрути левую руку к батарее, правую руку к левой ноге и вкручивай лампочку как все остальные, ушами. А закручивание лампочек со стремянок мы будем проходить только через два курса."
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding

Последний раз редактировалось Nedward; 30.06.2011 в 13:27.
Nedward вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна подсказка iilordii Помощь студентам 1 19.06.2011 21:23
Нужна ваша подсказка! :( m0dE^ БД в Delphi 1 17.02.2011 08:16
Программа на С про систему счисления. нужна подсказка Forward222 Помощь студентам 6 02.03.2009 20:38