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



Teraz jest 26 kwi 2026, o 13:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 5 lis 2016, o 16:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 gru 2013
Posty: 366
Lokalizacja: Wałbrzych
Pomógł: 7

Witam . Mam mały problem z tablicami wielowymiarowymi.


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



Chciał bym utworzyć tablicę wielowymiarową 10 element-ową której każdy element zawiera 3 znaki.

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



ii teraz do każdego z elementów tablicy 10-cio element-owej przypisać 3 znaki nietypowe.

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



lecz tu kompilator się burzy . W sumie ma rację bo on widzi zamiast 3 znaków więcej .

Więc jak to zrobić bo chcę by po takim zapisie
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

wyświetlił mi na wyświetlaczu tylko 3 znaki zawarte w 10-tym elemencie czyli znaki :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lis 2015
Posty: 219
Pomógł: 20

spróbój

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  
PostNapisane: 5 lis 2016, o 17:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 gru 2013
Posty: 366
Lokalizacja: Wałbrzych
Pomógł: 7

Niestety nic z tego nie działa :(

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 18:00 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

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

to nie możesz później wywoływać funkcji w ten sposób:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

bo ostatnim osiągalnym elementem pierwszego wymiaru tablicy będzie linia_g[9], ponieważ elementy tablicy są numerowane (indeksowane) począwszy od zera.

Po drugie, jeśli chcesz wyświetlać coś za pomocą funkcji lcd_str(), to na końcu ciągu znaków musisz mieć najprawdopodobniej znak '\x0', więc dla ciągów 3-znakowych musisz mieć tablice 4-znakowe:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 18:11 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Może spróbuj przekazać adres pierwszej komórki w danym wymiarze.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 18:27 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

No tak, tylko że w przypadku tablicy dwuwymiarowej zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Problem raczej w tym, że linia_g[10] jest już poza tablicą zadeklarowaną jako linia_g[10][3].



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 19:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 gru 2013
Posty: 366
Lokalizacja: Wałbrzych
Pomógł: 7

Działa jak złoto dziękuję

_________________
sig off ;(



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ł: andrzej381 i 9 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