- 3DMark Vantage eredmények
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kompakt vízhűtés
- Autós kamerák
- Milyen egeret válasszak?
- Androidos tablet topic
- Gyorsan cáfolta az Xbox hardverek lelövéséről szóló pletykákat a Microsoft
- Milyen házat vegyek?
- Bemutatta a Panther Lake-et az Intel
- Melyik tápegységet vegyem?
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
Használd ekkold által írtakat. Az jó megoldás, én csak annyit fűznék hozzá, hogy ha az eredeti programhoz jobban passzoló neveket használsz, akkor talán kevésbé keveredsz bele.
Azért ez a téma lehet, hogy megér egy bővebb kifejtést, ezért írtam egy kis tutorialszerű programot.#include <iostream> // ha a std::cout-ot akarjuk hasznalni, egyebkent torlendo
void setup() {
delay(1000);
Serial.begin(115200) ;
delay(1000);
/*
A C++-ban a ("C tipusu") tomb neve constans pointer.
Ugyanugy hasznalhatjuk oket egymas helyett is, azzal a megkotessel,
hogy a tomb neve konstans, nem valtoztathatjuk meg.
Ezert nem lehet egyenlosegjel bal oldalan hasznalni.
Viszont, ha helyette egy tenyleges pointert hasznalunk, az megvaltoztathato,
azaz egy masik tomb nevet mint pointert adhatjuk neki.
Mas modszereket is hasznalhatunk ennek megkerulesere, mint peldaul
a std::array. Ez mar szereelhet erteekado utasitas bal oldalan.
Vagy a for each-csel valo ertekadas, esetleg a std::vector
Mind kozul a leggyorsabb a sima tomb
*/
Serial.println ("ha egy index van:");
int* xy ;
int xy_array[9] = {1,0,0, 0,1,0, 0,0,1};
int xy2_array[9] = {11,12,13, 21,22,23, 31,32,33};
Serial.println ("xy = xy_array:");
xy = xy_array;
for (int i = 0; i <9 ; i++){
Serial.print (xy[i]); Serial.print (" ");
};
Serial.println ();
Serial.println ("xy = xy2_array:");
xy = xy2_array;
for (int i = 0; i <9 ; i++){
Serial.print (xy[i]); Serial.print (" ");
};
Serial.println ();
// nyomtatja:
/*
ha egy index van:
xy = xy_array:
1 0 0 0 1 0 0 0 1
xy = xy2_array:
11 12 13 21 22 23 31 32 33
*/
//he több index van akkor typedef hasznalando
//typedef <data_type> <alias_name> [<size>]
typedef int egyindexes_arr[3]; // ez egy 3 elemű vektor tipus
egyindexes_arr* enMatrixom ;
// harom elemu vektorra mutato pointer,
// melynek az elemei szinten harom elemu vektorok
// Az alabbiak ugyanigy, csak tombok.
// Ne feledd tomb = pointer!
egyindexes_arr enMatrixom1[3] = {{1,0,0}, {0,1,0}, {0,0,1}} ;
egyindexes_arr enMatrixom2[3] = {{11,12,13}, {21,22,23}, {31,32,33}} ;
Serial.println ("eredeti ketindexes: ");
for (int i = 0; i <3 ; i++){
for (int j = 0; j <3 ; j++){
Serial.print ( enMatrixom1[i][j] ); Serial.print (" ");
}; // end j
Serial.println ();
}; // end i
Serial.println ();
/*
eredeti ketindexes:
1 0 0
0 1 0
0 0 1
*/
Serial.println ("enMatrixom = enMatrixom1 utan:");
enMatrixom = enMatrixom1 ;
for (int i = 0; i <3 ; i++){
for (int j = 0; j <3 ; j++){
Serial.print ( enMatrixom[i][j] ); Serial.print (" ");
}; // end j
Serial.println ();
}; // end i
Serial.println ();
/*
enMatrixom = enMatrixom1 utan:
1 0 0
0 1 0
0 0 1
*/
Serial.println ("enMatrixom = enMatrixom2 utan:");
enMatrixom = enMatrixom2 ;
for (int i = 0; i <3 ; i++){
for (int j = 0; j <3 ; j++){
Serial.print ( enMatrixom[i][j] ); Serial.print (" ");
}; // end j
Serial.println ();
}; // end i
Serial.println ();
/*
enMatrixom = enMatrixom2 utan:
11 12 13
21 22 23
31 32 33
*/
// Hasznalhatunk mas megoldasokat is, de azok nem biztos, hogy a régi lapokon mennek,
// csak a korszerűbbeken, de ESP32-n biztosan(kipróbáltam)
// peldaul a std::array, vagy a for each hasznalata
// a std::cout helyett termeszetesen hasnalhatunk barmilyen mas nyomtato utasitast is
std::array<int, 9> std_arr_1 = {1,0,0, 0,1,0, 0,0,1};
std::array<int, 9> std_arr_2 = {11,12,13, 21,22,23, 31,32,33};
Serial.println ("eredeti std_arr_1 :");
for (int i = 0; i <9 ; i++){
Serial.print (std_arr_1[i]); Serial.print (" ");
};
Serial.println ();
std_arr_1 = std_arr_2; // igy hasznalhato az ertekadas,
//egyebkent meg ugyanugy hasznalhatjuk, mint a C tipusu tombot.
Serial.println ("std_arr_1 = std_arr_2 utan :");
for (int i = 0; i <9 ; i++){
Serial.print (std_arr_1[i]); Serial.print (" ");
};
Serial.println ();
/*
eredeti std_arr_1 :
1 0 0 0 1 0 0 0 1
std_arr_1 = std_arr_2 utan :
11 12 13 21 22 23 31 32 33
*/
Serial.println (
"a korabban megadott xy tomb elemeit lecserésljük a felsorolasban szereplokre :");
Serial.println ("lecsereles elott:");
// kinyomtatjuk
for ( auto tombEgyEleme : xy_array ) {
std::cout << tombEgyEleme << ' ';
}
std::cout << '\n';
// lecsereljuk:
uint8_t j = 0;
for ( auto tombEgyEleme : {11,12,13, 21,22,23, 31,32,33} ) {
xy_array[j++] = tombEgyEleme;
}
Serial.println ("lecsereles utan:");
// kinyomtatjuk
for ( auto tombEgyEleme : xy_array ) {
std::cout << tombEgyEleme << ' ';
}
std::cout << '\n';
/*
a korabban megadott xy tomb elemeit lecserésljük a felsorolasban szereplokre :
lecsereles elott:
1 0 0 0 1 0 0 0 1
lecsereles utan:
11 12 13 21 22 23 31 32 33
*/
} ; // end setup
void loop() {
// put your main code here, to run repeatedly:
}
Új hozzászólás Aktív témák
- iPhone 16 128GB fekete 1 hónspos! Makulátlan! KÁRTYAFÜGGETLEN! 2026 szeptember 4-ig Apple garancia!
- AMD Ryzen 9 7950X3D/RTX 5090 32GB/64GB DDR5 RAM/1TB SSD HIGH-END konfig eladó
- Lenovo Yoga Slim 7 Pro 14IAP7 i7-1260p (12 mag!)/16GB DDR5/512SSD/400nit
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új Dell 5330 Latitude 13.3 FHD IPS Touch i5-1235U 4.4Ghz 16GB 512GB Intel Iris XE Win11 Pro Garancia
- Huawei Quidway S5324TP-SI-AC - 24G, 4SFP, L2, managed switch
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C docking station (akár 3x4K felbontás)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest