Funzione su una matrice

SalvatCpo
// Scrivi un programma che, dato un vettore di m elementi, lo sistemi su una matrice m*m avente come
//prima riga gli elementi del vettore
// e nelle successive righe gli stessi valori moltiplicati per lndice della riga (prima, seconda...).
//Crea una funzione esterna.










Non capisco perché il compilatore si fa tutti questi problemi.

Ho fatto attenzione a tutto:
1) Vettore e matrice sono passati per riferimento (automaticamente).
2) Le dimensioni sono specificate.
3) C'è il prototipo.
4) La funzione e la chiamata hanno parametri che corrispondono.


DOVE CAVOLO E' IL PROBLEMA?

Sono ore che insisto...

Grazie a chi mi aiuterà

Risposte
giovx24
ciao!

1) usa le costanti per dimensionare gli array e le matrici
2) non puoi scrivere una cosa del genere : void creamatrice(int m, int v[m], int t[m][m])
anche qui usa delle costanti al posto della m
3) quando passi i vettori alla funzione, la sintassi corretta è:
creamatrice(n,a,b);
niente quadre

SalvatCpo
Ok... Apportando le modifiche che mi hai detto tu, il programma parte.

Ho tolto la variabile m perché se la dim è costante, la m perde di significato.




Però sono stato costretto a rendere inutile la funzione, perché è troppo specifica: lavora solo se la dimensione del vettore (e dunque il lato della matrice) è 4.

Come posso risolvere il problema?

giovx24
fin quanto non studierai l'allocazione dinamica delle variabili l'unica cosa che puoi fare è mettere una costante abbastanza grande per i tuoi scopi

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.