Zdefiniowanie zbioru liczb i sprawdzenie czy liczba do niego należy

0

W sumie to nie jest problem a raczej pytanie, czy w c++ możliwe jest zdefiniowanie zbioru zawierającego jakieś liczby np Zbiór {1, 2, 3, 4, 6, 7, 9, 11 ... takiego którego nie można było określić go wzorem) i sprawdzać czy x ( np = 4 ) należy do tego zbioru innym sposobem jak case czy if?

1
Crax napisał(a):

czy w c++ możliwe jest zdefiniowanie zbioru zawierającego jakieś liczby np Zbiór {1, 2, 3, 4, 6, 7, 9, 11 ... takiego którego nie można było określić go wzorem

Jak mamy to rozumieć? Chodzi po prostu o jakąś kolekcję liczb, wczytanych z stdin?
Jeśli o coś takiego chodzi to istnienie konkretnej wartości w tym zbiorze możesz sprawdzić tak std::find(std::begin(v), std::end(v), value);

1
  1. SFML nie ma tutaj absolutnie nic do rzeczy.
  2. To jest bełkot.
0

Chodzi dokładnie oto że w SFML ma system kolizji działa ona na zasadzie sprawdzania czy postać znajduje się na konkretnym bloku

map int [2][2] // mapa kafelkowa 
{
{1, 2},
{3, 4}
}

{...}//wczytywanie textures, rysowanie mapy itd...

int x = player.getPosition().x;
int y = player.getPosition().y;

int fields = map[x/32][y/32]; 
if(== 1) // kafle 32 x 32
{
// szczegóły odnośnie akcji... mój problem polega tym że mam 33 rodzaje różnych pul dla których akcja jest ta sama, teraz działa to na zasadzie if(fields == 1 || fields== 2 || fields== 3... ) chodzi mi o uproszczenie tego kody wpadłem na pomysł aby definiować gdzieś zbiór liczb np { 1, 2, 3...} i potem sprawdzać czy fields ( czyli konkretna liczba z tablicy ) należy do tego zbioru.
}

Przepraszam za wszystkie błędy ale wracam autobusem do domu :v

dodanie znacznika <code class="cpp"> - @furious programming

0

Yyy? Skoro masz wiele obiektów, które wołają ten san callback to może niech one implementują samorejestrujący byt, który zarejestruje je na poprawny sygnał w konstruktorze i wyrejestruje w destruktorze.

0

To nie jest pisane obiektowo :/

1

To już zauważyłem ale co to ma do rzeczy? W każdym razie razie std::find wystarczy na to co chcesz osiągnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1