Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-05-2004, 21:12   #1
fant3
Senior Member
 
L'Avatar di fant3
 
Iscritto dal: Jan 2002
Città: Roma
Messaggi: 1360
Funzione void

Devo calcolare il determinante di una matrice quadrata, usando l'allocazione dinamica per la matrice e funzioni void.
Questo è quello che ho scritto:

#include <stdio.h>
#include <stdlib.h>

void scambia_righe(float **matrice, int n, int r1, int r2, int start)
{
int i;
float tmp;

for(i=start; i<n; ++i)
{
tmp = matrice[r1][i];
matrice[r1][i] = matrice[r2][i];
matrice[r2][i] = tmp;
}
}


void det(float **matrice, int n, float *risultato, int start)
{
int r;
int sgn = 1;
float det_min;

*risultato = 0;
if(start == (n - 1))
return matrice[n-1][n-1];
for(r=start; r<n; ++r)
{
if(r != start)
{
sgn = -1; /*scambiando due righe il determinante del minore cambia di segno*/
scambia_righe(matrice, n, start, r, start);
}
det(matrice, n, &det_min, start+1);
*risultato = sgn * matrice[start][start] * det_min;
if(r != start)
scambia_righe(matrice, n, start, r, start);
}
}


int main()
{
int n, i, j;
float **mat, risultato;

printf("inserisci l'ordine della matrice quadrata\n");
scanf("%d", &n);
mat = (float **)calloc(n, sizeof(float *));
for(i=0;i<n;i++)
{
mat[i] = (float *)calloc(n, sizeof(float));
}
printf("inserisci gli elementi della matrice \n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%f", &mat[i][j]);
}
}

det(mat, n, &risultato, 0);
printf("Determinante = %f", risultato);

free(mat);
}

Come faccio a sostituire quel return nella funzione det?
fant3 è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2004, 06:14   #2
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
e cosa ci vuoi mettere?

MEMBRO DEL GRAN CONSIGLIO DELLE CACCOLE VERDI

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2004, 09:05   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ma questo è il mio codice !!!
Codice:
if(start == (n - 1)) 
{
  *risultato = matrice[n-1][n-1]
  return; 
}
Per farlo ancora più veloce si può aggiungere sotto alle righe sopra:
Codice:
if(start == (n - 2)) 
{
  *risultato = matrice[n-2][n-2] *matrice[n-1][n-1] - matrice[n-2][n-1] *matrice[n-1][n-2];
  return; 
}
fant3: non vorrei darti una brutta notizia, ma questo codice lo sta già usando Dark_Tranquillity: se è in corso con te avrete lo stesso elaborato...e non mi sembra una cosa buona...per entrambi...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
Volkswagen Mission Efficiency: Cd di 0,1...
Dreame L10s Pro Gen 3 a 179€: ottimo pre...
I Samsung Galaxy S24 ricevono la One UI ...
Google Drive, prende il via il programma...
TempGuard: la protezione di ASRock fa ci...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v