• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

grupowanie wektorów

42 Warsaw Coding Academy
0 głosów
159 wizyt
pytanie zadane 25 stycznia 2021 w C i C++ przez hicodyn Początkujący (420 p.)

Napisałam funkcję, która licząc odległość każdego wektora z vectorPunktow do kazdego centroidu z vectorCentroidow powinna przyporzadkowac mu odpowiedni numer klastra. Wszystko się kompiluje, tylko wyniki się nie zgadzają. Czy widzi ktoś tutaj jakiś błąd?

std::vector<punkt> przypisywanieDoKlastrow(std::vector<punkt> vectorCentroidow, std::vector<punkt> vectorPunktow, daneWejsciowe przelaczniki)
{
    std::vector<punkt> vectorPkt = vectorPunktow;
    double odleglosc1 = 0, odleglosc2 = 0;
    for (int i = 0; i< vectorPunktow.size(); i++)
    {
        for (int j = 0; j < vectorCentroidow.size(); j++)
        {
            for (int k = 0; k < przelaczniki.d; k++)
            {
                odleglosc2 += (vectorPunktow[i].wspolrzedne[k] - vectorCentroidow[j].wspolrzedne[k])*(vectorPunktow[i].wspolrzedne[k] - vectorCentroidow[j].wspolrzedne[k]);
            }
            if (odleglosc2 > odleglosc1)
            {
                vectorPkt[i].nrKlastra = j + 1;
            }
            odleglosc1 = odleglosc2;
        }
    }

    return vectorPkt;
}

 

komentarz 26 stycznia 2021 przez NewEraOfPeace Gaduła (4,790 p.)
Ten kod wydaje mi się błędny koncepcyjnie. Wygląda trochę jak problem XY. Opowiedz o całym zamyśle, kontekście i pokaż resztę kodu. Poza tym, tak jak napisał TOM_CPP, podaj przykłady błędnych i oczekiwanych wyników dla konkretynych danych.

1 odpowiedź

+1 głos
odpowiedź 25 stycznia 2021 przez TOM_CPP Pasjonat (22,640 p.)

Czy widzi ktoś tutaj jakiś błąd?

Bez całości kodu trudno jest cokolwiek sensownego odpowiedzieć. Czym jest nrKlastra, wspolrzedneprzelaczniki itd. W jaki sposób wyniki się nie zgadzają? Podaj przykład.

 

Przesyłaj obiekty typu std::vector przez referencję. Teraz za każdym wywołanie funkcji przypisywanieDoKlastrow każdy z wektorów jest kopiowany, co w przypadku dużych obiektów jest bardzo czasochłonne.

Podobne pytania

0 głosów
0 odpowiedzi 412 wizyt
pytanie zadane 16 lutego 2022 w SQL, bazy danych przez Sebastian Szyja Bywalec (2,950 p.)
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 6 kwietnia 2021 w SQL, bazy danych przez yapyap Obywatel (1,730 p.)
0 głosów
1 odpowiedź 446 wizyt
pytanie zadane 1 grudnia 2019 w SQL, bazy danych przez Mavannkas Bywalec (2,290 p.)

93,385 zapytań

142,384 odpowiedzi

322,540 komentarzy

62,745 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...