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



Teraz jest 21 lis 2024, o 12:12


Strefa czasowa: UTC + 1





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

Dołączył(a): 10 paź 2014
Posty: 56
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 ]
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: 3
Pomógł: 0

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: 3
Pomógł: 0

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 ]
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: 3
Pomógł: 0

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 ]
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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