Risoluzione di sistema con linguaggio C

Messaggioda nereide » 05/05/2017, 19:51

La consegna del mio professore prevede di dover scrivere una function di tipo 'int' per la risoluzione di un sistema con matrice A triangolare inferiore, tale che restituisca come valore di ritorno -1 se il sistema ammette soluzione oppure l'indice dell'elemento tale che A(i,i)= 0. La function ha però nella testata il vettore X delle soluzioni del sistema, che è specificato come argomento di output. Ma a me risulta che nella testata della function possano comparire solo argomenti di input, sbaglio? Anche perché, se così non fosse, da dove farei uscire il vettore soluzione? Non sarebbe poi a mio avviso necessario risolvere il sistema per sapere se è risolubile, mi basterebbe fare il controllo sugli elementi della diagonale. Dunque non mi spiego il vettore X come output. Qualcuno può aiutarmi a capire? Grazie mille
nereide
Average Member
Average Member
 
Messaggio: 200 di 534
Iscritto il: 20/08/2014, 21:34

Re: Risoluzione di sistema con linguaggio C

Messaggioda kobeilprofeta » 08/05/2017, 14:19

Ciao. Ho trovato qualcosa di simile qua.
kobeilprofeta
Cannot live without
Cannot live without
 
Messaggio: 2367 di 5262
Iscritto il: 24/09/2012, 18:25

Re: Risoluzione di sistema con linguaggio C

Messaggioda vict85 » 08/05/2017, 19:14

Io penso che tu abbia un po' di confusione in testa.

Una cosa è il concetto astratto di funzione (pura), ovvero una mappa tra input e output, un'altra è un programma in codice macchina, che non è altro che una sequenza di istruzioni. Detto questo, un argomento di output è il fornire in input l'indirizzo nel quale si invieranno le informazioni (in C si tratta di un puntatore all'oggetto che vuoi modificare). E' un po' come quando dai l'email o il telefono a qualcuno da cui desideri essere contattato. Di per sé, in termini di codice C, il problema non si pone: ogni array è passato per riferimento.

In pratica suppongo che il tipo della funzione sia qualcosa come int(double[],int,double[]). Sicuramente non è int, che non è un tipo di funzione. Nota che in C non puoi ritornare un array da una funzione (a meno di metterlo in una struttura1).

Note

  1. Cosa che non ti consiglio di fare a meno di avere un array molto piccolo
vict85
Moderatore
Moderatore
 
Messaggio: 9073 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: Risoluzione di sistema con linguaggio C

Messaggioda nereide » 15/05/2017, 10:12

Scusami per i tecnicismi raffazzonati, sono alle prime armi, comunque grazie.
nereide
Average Member
Average Member
 
Messaggio: 202 di 534
Iscritto il: 20/08/2014, 21:34


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite