22 / 22
Mar 2017

Czy na pewno zastosowałeś się do wszystkich wskazówek? Głównie chodzi o 2)

Wydaję mi się że tak. Do mojego wektoru pierw zapisze się nazwa np A a potem obie współrzędne np 1 i 2 czyli nazwy są co 3 miejsca w wektorze. Przynajmniej ja to tak rozumiem :smiley:

Ależ czy ja pytałem o to co robi wektor? Zacytuję punkt drugi:
"Co będzie z Twoimi wektorami po przetworzeniu pierwszego zestawu testowego?"

odpowiedz na to pytanie lub spójrz sam:
https://ideone.com/1nifXG12

A powinno być odwrotnie czyli 59 0 a później 0 90 tak dobrze rozumuje ? (jeżeli dobrze to zaraz poprawiam kod)

sorry nie zauważyłem że tam jest dla co najemnie 10 liter :smiley: moje nie dopatrzenie :smiley:

wrzuciłem stringa ale dalej mam błąd a mam pytanie jak są dwa takie same punkty to co jeden jest pomijany ?

z polecenia:
"Żadne 2 punkty nie leżą w tej samej odległości od środka układu współrzędnych."

Jak wczytujesz? cin? getline? Najlepiej link do programu?

Przetestuj jeszcze raz przykład który podałem powyżej - on demonstrował dwa różne problemy. Jeden związany z osługą wieloliterowych nazw i drugi z błędną kolejnością punktów.

Chociaż muszę przyznać że odległości są na tyle blisko siebie że na pierwszy rzut oka nie jest oczywiste który punkt powinien być pierwszy

ok Już kumam błąd powinienem porównywany do minusowej to mam problem ale co z tymi punktami one maj się dublować czy jeden mam nie być wywołany ? Nie wiem jak to zrozumieć

Program działa niby dobrze ale jednak miesza mi dane, widzi ktoś w nim problem bo już mam dosyć :smiley: siedzę i siedzę nad nim i nic :confused: wklejam tutaj cały kod bo ideone nie działa (do bibliotek dodaj "<" bo inaczej ich nie widac) :

include iostream>

include cstdlib>

include math.h>

include vector>

using namespace std;

int t, n;
string litera;
vector litery;
float liczbaA, liczbaB, odleglosc;
vector liczby;
vector odleglosci;

int main() {

cin>>n;
for(int i=1; i<=n; i++)
{
	cin>>t;
	for(int i=1; i<=t; i++)
	{
		cin>>litera>>liczbaA>>liczbaB;
		litery.push_back(litera);
		liczby.push_back(liczbaA);
		liczby.push_back(liczbaB);

		odleglosc=sqrt(pow(liczbaA, 2)+pow(liczbaB, 2));

		odleglosci.push_back(odleglosc);


		for(int i=0; i<litery.size(); i++)
			{
   				 for(int a=0, j=0; j<litery.size()-1; a+=2, j++)
    				{
       					if(odleglosci[j]>odleglosci[j+1])
       						{	
       							swap(litery[j]		, 	litery[j+1]);
       							swap(odleglosci[j]	, 	odleglosci[j+1]);
       							swap(liczby[a]		, 	liczby[a+2]);
       							swap(liczby[a]		, 	liczby[a+3]);

							}
   			 		}
			}
	}

		for(int i=0, j=0; i<litery.size(); i++, j+=2)
		{
			cout<<litery[i]<<" "<<liczby[j]<<" "<<liczby[j+1]<<endl;
		}
}


return 0;

}

Napraw kodowanie, najlepiej wrzucaj link do ideone, nikt nie będzie tego czytał. O co w ogóle chodzi z Twoimi nawiasami klamrowymi?