[OT] Arduino

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Neděle Leden 7 10:08:54 CET 2024


Podle me to bude fungovat, while preskace polozky dokud nebude cislo < 
nez v tabulce.
Problem vidim akorat u 0, kdy to utece mimo tabulku navzdy, melo by byt 
IMHO <= misto <

Dne 07.01.2024 v 9:17 Petr Simek napsal(a):
> On Sat, 6 Jan 2024, David Obdrzalek wrote:
>
>> D.O.
>>
>> (*) Jeden příklad za všechny:
>> https://robodoupe.cz/2018/programatorske-poznamky-k-jednomu-arduino-projektu/ 
>>
>
> Dival jsem se na tu vasi stranku a moc se mi nezda priklad :
>
>   typedef struct{
>     uint16_t cislo;
>     char pismeno;
>   } tabulka_t;
>
>   tabulka_t tabulka[] = {
>     {994, 0},
>     {908, 'D'},
>     {807, 'A'},
>     {724, 'B'},
>     {482, 'C'},
>     {0, '0'}
>   };
>
>   char urciPismeno(uint16_t cislo)
>   {
>     uint8_t index=0;
>     while( cislo < tabulka[index].cislo ) index++;
>     return tabulka[index].pismeno;
>   }
>
>
> Prijde mi ze kdyz je 'cislo' mensi nez 994 tak to vzdy vrati
> prvni radek z tabulky - nulu a kdyz bude cislo 994 nebo vetsi
> tak se to rozbehne po pameti nez to nekde narazi na dvojbajt
> s vyssi hodnotou (a vrati to nejaky nesmysl) nebo to pojede
> v cyklu navzdy.
>
>
>
> *------------------------------------------------------------------------* 
>
> |                          Petr Simek   APS 
> JU                           |
> | psimek na jcu.cz                              |
> *------------------------------------------------------------------------*
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list