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

Dodawanie zmiennej do nazwy zmiennej

Object Storage Arubacloud
0 głosów
207 wizyt
pytanie zadane 27 sierpnia 2020 w C i C++ przez NieMaJuzNazw Użytkownik (890 p.)
edycja 27 sierpnia 2020 przez NieMaJuzNazw
Witam, Mam nadzieję że dobrze wytłumaczę mój problem. Chciałbym do nazwy zmiennej dodać zmienną. Np. Mam tablice o nazwie A[5] której elementy to 1,2,3,4,5. Mam też zmienne np. B1,B2,B3,B4,B5. Teraz chciałbym zrobić if w którym każda zmienna będzie sprawdzana czyli np. if (B1=1) { Cośtam Coś} i powtórzyć to dla każdej zmiennej. Dlatego chciałbym to zrobić w pętli for ale jak mam zrobić aby  zamiast pisać B1,B2,B3,B4,B5 zrobić coś w stylu For(int y = 1; y <= 5; y++ ){ if (B(y)==y{Cośtam Coś)

Mam nadzieję, że zrozumieliście

Edit: B1,b2... docelowo to są elementy typu shape sfml A ten przykład z B1 ==1 jest tylko przykladem

Edit 2: Ogólnie na koniec w oryginalnym kodzie ma to wyglądać tak że będę miał 4 Ify dla bardzo dużej ilości elementów o nazwie B1,b2...i chce to zrobić tak aby nie musieć dawać 1000000 ifów
komentarz 27 sierpnia 2020 przez NieMaJuzNazw Użytkownik (890 p.)
Czyli np

If a[0] == 5?

A[0] to np. B1
komentarz 27 sierpnia 2020 przez tkz Nałogowiec (42,000 p.)
#include <iostream>

class shape
{
    public:
    int temp{4};
};

int main()
{
    const unsigned SIZE{5};
    shape sh[SIZE];
    int tab[SIZE]={1,2,3,4,5};
    for(unsigned i{0}; i < SIZE; ++i)
    {
        for(unsigned j{0};j < SIZE; ++j)
        {
            if(tab[i]==sh[j].temp)
                std::cout<<sh[j].temp<<"=="<<tab[i]<<'\n';
        }
    }
}

Coś w tym stylu. 

komentarz 27 sierpnia 2020 przez NieMaJuzNazw Użytkownik (890 p.)
Sproboje tylko że shape to nie jest moja klasa tylko z biblioteki więc nie jestem pewny czy to zadziała
komentarz 27 sierpnia 2020 przez tkz Nałogowiec (42,000 p.)
To tylko przykład. O ile wiem i tak nie jesteś w stanie porównać SFML'owej klasy shape z liczbami.
komentarz 27 sierpnia 2020 przez NieMaJuzNazw Użytkownik (890 p.)
Ta, będę wykorzystywał getLocalBounds i potrzebuje właśnie tam tych nazw

1 odpowiedź

0 głosów
odpowiedź 28 sierpnia 2020 przez Piotr Batko Stary wyjadacz (13,190 p.)

Możesz trzymać sf::Shape w tablicy. Przykład:

sf::CircleShape circle0, circle1;
sf::RectangleShape rectangle0, rectangle1;

std::vector<sf::Shape *> shapes = {&circle0, &circle1, &rectangle0, &rectangle1};

for (const auto & shape : shapes)
{
    std::cout << shape->getGlobalBounds().width << std::endl;
}
komentarz 6 września 2020 przez NieMaJuzNazw Użytkownik (890 p.)
Zrobiłem dokładnie tak jak napisałeś i wtedy system chodzenia czyli to do czego to potrzebowałem przestał działać poprawnie

Podobne pytania

0 głosów
1 odpowiedź 194 wizyt
0 głosów
1 odpowiedź 566 wizyt
0 głosów
2 odpowiedzi 343 wizyt
pytanie zadane 19 sierpnia 2019 w C i C++ przez Mavimix Dyskutant (8,390 p.)

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...