Originariamente inviata da
alka
Per affrontare la discussione in modo costruttivo, spiega cosa non ti è chiaro dell'esercizio oppure prendine una parte e inizia a pensare a una possibile soluzione da proporre, eventualmente chiedendo supporto o informazioni su un ambito specifico.
E' importante contestualizzare perché il forum non è un luogo in cui proporre esercizi e farli risolvere a terzi.
Per questa e altre indicazioni, consulta il Regolamento di quest'area del forum.
Ciao!
Hai perfettamente ragione. un abbozzo di ciò che ho fatto è questo
codice:
#include"matrix.h"
struct matrix *rotate_v(const struct matrix *m, int n) {
size_t r = m->rows, c = m->cols;
double *ptemp = malloc(sizeof(double)*(m->cols));
for (size_t i = 0; i < m->cols; i++) {
ptemp[i] = m->data[m->cols*(n)+i];
}
}
la difficoltà è appunto nel rotare la matrice. come faccio a farla rotare??
ho pensato anche
di "giocare" con l'indice che riceverei.Mi spiego una volta salvata la riga che andrei a rimpiazzare con il codice scritto li sopra potrei costruire il ciclo
codice:
for (size_t o=n-1;n>0;n--)
(newmatrix+n+1)->data=(m+n)->data;
in questo modo presumibilmente anderi a rotare tuttavia solo se l'indice è pari... Ora sono consapevole che mi sto complicando la vita, ma non ho altre idee inoltre con "n" negativo come faccio?