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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2018, 15:22   #1
Malenford
Новичок
Джуниор
 
Регистрация: 20.04.2018
Сообщений: 3
По умолчанию Нужна помощь с векторами

Здравствуйте, собственно сразу к делу.
Задача:
Цитата:
С клавиатуры вводятся координаты точек на плоскости в виде строк, представляющих пару в формате "x+i*y". Строка должна быть проанализирована, координаты извлечены и помещены в вектор точек (точка - пользовательский тип данных структура). Определить порядок соеденения точек замкнутой ломанной, проводимой в порядке возрастания координаты x точек (x,y). Порядок соединения выдать парами номеров.
Проблема:
Не могу понять как реализовать сортировку с выводом.
Вот, что пока написал

Код:
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <vector>
#include <cstdlib>
#include <string>
#include <alg.h>
#include <algorithm>

using namespace std;

struct point {
	double x, y;
};
bool More(double x, double y){
	if 
}
int main(){
	string str;
	vector <point> list;
	point p;
	getline(cin, str);
	for (int i=0; str.find("+i")!=-1; i++) {
		int a = str.find("+i");
		int b = str.find(' ');
		p.x = stod(str.substr(0, a));
		p.y = stod(str.substr(a + 3, b - a - 3));
		list.push_back(p);
		str = str.substr(b + 1);
	}

	sort(list.begin.x, list.end.x, ???);
	for (int i = 0; i < list.size(); i++) {
		???
   }
	return 0;
Malenford вне форума Ответить с цитированием
Старый 20.04.2018, 15:26   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
std::sort(std::begin(list), std::end(list), [](const point& a, const point& b){ return a.x < b.x; });
p51x на форуме Ответить с цитированием
Старый 20.04.2018, 16:07   #3
Malenford
Новичок
Джуниор
 
Регистрация: 20.04.2018
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
std::sort(std::begin(list), std::end(list), [](const point& a, const point& b){ return a.x < b.x; });
Спасибо, есть ли возможность сортировки элементов с сохранением их прежних индексов?
Malenford вне форума Ответить с цитированием
Старый 20.04.2018, 16:17   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну, а если чуть включить голову и, например, элементарно добавить старый индекс в структуру и не менять его?
p51x на форуме Ответить с цитированием
Старый 20.04.2018, 16:39   #5
Malenford
Новичок
Джуниор
 
Регистрация: 20.04.2018
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну, а если чуть включить голову и, например, элементарно добавить старый индекс в структуру и не менять его?
Очень благодарен, сильно помогли, спасибо.
Malenford вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь andrewe C/C++ Базы данных 1 07.12.2014 21:21
Нужна помощь Chucho Помощь студентам 0 03.03.2014 12:05
Нужна обучающая программа выполнение действия над векторами на С++ GirYa Фриланс 9 04.06.2013 23:37
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12