Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 14 mar 2025, o 13:43


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 12 lis 2024, o 14:24 
    Offline
    Użytkownik

    Dołączył(a): 10 paź 2014
    Posty: 57
    Pomógł: 0

    Cześć,

    szukam rozwiązania dla łamigłówki :D przynajmniej dla mnie jest to łamigłówka :P


    Mianowicie, chce podać liczbę do zmiennej a np:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    i po wywołaniu programu chce otrzymać tą liczbę tylko odwrotnie napisaną :)

    czyli:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    skleciłem taki kod:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ale domyślam się, są lepsze sposoby :D przeszukuję Internet i nic nie mogę znaleźć :)

    może ktoś podpowie jak inaczej ugryźć ten temat :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2024, o 19:24 
    Offline
    Nowy

    Dołączył(a): 12 lis 2024
    Posty: 15
    Pomógł: 1

    Cześć

    Jestem tu nowy więc wybacz jeśli nie dopełnię jakiś reguł na tym forum :)

    Ja bym to zrobił przez sukcesywne dzielenie, mnożenie i modulo a nie tablicę.
    Tylko czy wymagasz aby to dobrze pracowało na AVR? Jeśli tak, to mnożenie i dzielenie na tym mcu może być kosztowne.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2024, o 20:11 
    Offline
    Użytkownik

    Dołączył(a): 25 maja 2014
    Posty: 92
    Lokalizacja: Krosno
    Pomógł: 0

    Witam:)
    a może tak?


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    pozdrawiam :)

    _________________
    Artur



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lis 2024, o 20:50 
    Offline
    Nowy

    Dołączył(a): 12 lis 2024
    Posty: 15
    Pomógł: 1

    Jeśli godzić się na mnożenie, dzielenie i modulo, to można tak. Oczywiście widać właściwość tego podejścia. W przypadku zera na danej pozycji, jest tracone.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Oczywiście jest jeszcze kilka innych sposobów, bez dzielenia/mnożenia/modulo, kod będzie bardziej zaciemniony. Niektóre ... "mniej uczciwe" rozwiązania to np formatowanie liczby i zwrócenie jej napisu odwróconego. Jeszcze inne to rekurencja. Ale ta ostatnia to już raczej dla zaawansowanych :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lis 2024, o 07:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1967
    Lokalizacja: Lipsko
    Pomógł: 125

    A może zamiana liczny na tekst, pętla odwracającą znaki, i zamiana tekstu na liczbę :)

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lis 2024, o 23:42 
    Offline
    Nowy

    Dołączył(a): 12 lis 2024
    Posty: 15
    Pomógł: 1

    Można (jak pisałem wcześniej), zrobić to operując na stringu. Ale .. to nie dość że nieuczciwe to wydaje się i ryzykowne i nieco bardziej kosztowne.
    Tu masz przykład tak rekurencji jak i operacji na stringu. Tylko... ja nie polecam ani jednego ani drugiego :) Umieszczam w celu dydaktycznym wyłącznie.
    Aha... nie obsługiwałem już przypadków brzegowych. Takich jak INT_MAX i INT_MIN. Jak ktoś będzie chciał, to samodzielnie doda obsługę...

    Brzydkie jak noc :) Na mikrokontroler się nie nadaje w większości przypadków.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 gru 2024, o 19:28 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ja bym użył rekurencji

    np :

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    resztę sobie dostosuj :)


    ew mozna bardziej skomplikować sprawę np :

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ewentualnie możesz tak :

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    takie luźne rozważanie , miłej zabawy

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO