View Full Version : [c++] problema con array immodificabile in parte (?)
vermaccio
22-03-2006, 15:23
vedere codice allegato:
riga 31 --> creo array e ne inizializzo dei valori per controllare che poi vengano sostituiti
double Jacobiano[3][4]= { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };
riga 438/450 --> modifico l'array cella a cella !!!!
riga 454 (sostituite "robot_console_printf" con "printf")--> l'array solo in parte è stato cambiato. i primo 8 elementi sono ancora 1 2 3 4 5 6 7 8 dell'inizializzazione, come se la modifica appena fatta non ha mai avuto luogo!!!!!!!
arghhhh!!!!!!
perchè?
sottovento
22-03-2006, 15:39
Ciao,
ho dato un'occhiata al tuo software.
Il motivo e' semplice: stai editando questo file con editor diversi, i quali usano diverse modalita' di ritorno a capo. Sembrerebbe quasi un file scritto continuamente cambiando sistema operativo.
Il risultato e' che le istruzioni a cui fai riferimento sono commentate. Probabilmente il tuo editor le vede normali.
Sono riuscito ad accorgermene usando il caro e vecchio gvim.
Soluzione:
- apri il file con l'editor del tuo ambiente di sviluppo;
- batti qualche volta il tasto ENTER prima e dopo le righe "incriminate";
- fai piu' attenzione a questi problemini, ti fanno perdere un sacco di tempo
High Flying
Sottovento
vermaccio
22-03-2006, 16:24
uhu?
ma ho scritto tutto usando visual studio .net!
da visual studio .net io vedo tutto 2bene".
bho.
mi fai un esempio di riga "incriminata" che crea il pastrocchio?
vermaccio
22-03-2006, 16:41
ma porc!
ho stampato in pdf ed hai ragione tu!!!!!!!!
ma visual studio non vede l'errore.
e il notpad nemmeno!
azzoooo!!!!!!!!!!!
che uso per levare le schifezze?
sottovento
22-03-2006, 17:35
Il mio editor (ed evidentemente il tuo compilatore) vedono questa situazione
//definizione matrice J 3X4 jacobiano istantaneo (devo aver calcolato valori theta, q1, q2, x, y attuali)
//attento! gli indici della matrice partono da zero e non da 1!!!!!
// simile a "kinematic modeling and redundancy resolution of nonholonomic mobile manipulators, Oriolo, pag.5)^MJacobiano[0][0]=cos(theta);^MJacobiano[0][1]=-d*sin(theta)-braccio2*sin(theta+q1)*sin(q2);^MJacobiano[0][2]=-braccio2*sin(theta+q1)*sin(q2);^MJacobiano[0][3]=braccio2*cos(theta+q1)*cos(q2);^MJacobiano[1][0]=sin(theta);^MJacobiano[1][1]=d*cos(theta)+braccio2*cos(theta+q1)*sin(q2);^MJacobiano[1][2]=braccio2*cos(theta+q1)*sin(q2);^MJacobiano[1][3]=braccio2*sin(theta+q1)*cos(q2);
Jacobiano[2][0]=0;
Jacobiano[2][1]=0;
Jacobiano[2][2]=0;
Jacobiano[2][3]=-braccio2*sin(q2);
Non ci sono "a capo", quindi e' tutto nel commento
sottovento
22-03-2006, 17:36
ma porc!
ho stampato in pdf ed hai ragione tu!!!!!!!!
ma visual studio non vede l'errore.
e il notpad nemmeno!
azzoooo!!!!!!!!!!!
che uso per levare le schifezze?
Se te la senti, prova ad usare gvim, ma ti avverto che e' veramente complicato se non l'hai mai usato.
In alternativa, prova a battere qualche volta il tasto ENTER per inserire delle righe vuote
High Flying
Sottovento
wingman87
22-03-2006, 18:22
Secondo me la soluzione migliore è usare l'altro metodo x il commento, non il "//", quello che indica esattamente dove inizia e dove finisce il commento, non ricordo se è "*/" o qualcosa del genere. Ciao!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.