Programma ANSI C

di il
52 risposte

Programma ANSI C

Ciao a tutti...
dovrei scrivere un programma ansi c che acquisisca da file due matrici A e B n*n...
sull'acquisizione del file ci sono ma dopo non so come fare per individuare gli elementi delle matrici dentro al file...cioè come caricarle dentro un array dinamico...
mi potete aiutare????
grazie in anticipo

52 Risposte

  • Re: Programma ANSI C

    Qual'è il tuo file di input?
  • Re: Programma ANSI C

    Un file ti testo che devo creare io e il quale contenga le matrici...
  • Re: Programma ANSI C

    Se sei d'accordo ti mando il testo preciso in un messaggio privato
  • Re: Programma ANSI C

    Allora lo posto io per te.

    Scrivere un programma ANSI C che acquisisca da ?le 2 matrici quadrate A e B di valori interi e di
    dimensione N (A(i, j),B(i, j) ? N, ?i = 1 ? N, ?j = 1 ? N) ed esegua le seguenti elaborazioni:
    1. Calcoli la traccia (ovvero la somma degli elementi lungo la diagonale) di A e B
    2. Calcoli le matrici trasposte di A e B
    3. Calcoli la matrice prodotto P = A · B
    4. Calcoli i valori massimo, minimo, medio (x) e la deviazione standard (s) degli elementi di A,
    di quelli di B e di quelli di P
    La complessit´a dell’algoritmo deve essere calcolata analiticamente e confrontata con una sua
    valutazione sperimentale.

    Punto 0. Acquisire due matrici da file. Cosa hai fatto fino ad adesso?
    Una matrice lo puoi creare in un file di testo con numeri divisi da spazio. Da quel che ho capito le matrici devono essere uguali di dimensione tra di loro.

    un esempio:

    1 4 6 9 0
    4 6 7 8 9
    1 3 5 8 10
    4 6 3 2 4
  • Re: Programma ANSI C

    Si devono avere entrambe le stesse dimensioni e devono essere matrici quadrate... cmq x ora ho provato a fare una main di prova x l'acquisizione di una della matrici da file e una volta acquisita che me la stampi, solo che una volta compilato ed eseguito ma cosa ke mi stampa non è neanche lontanamente simile a cio che doverbbe leggere dal file...

    CODICE:
    #include <stdio.h>

    int main (void)
    {
    int riga;
    int colonna;
    int matrice[3][3];
    FILE *a;
    a = fopen("matrice_A.txt", "r");

    for(riga=0; riga<3; riga++)
    for(colonna=0; colonna<3; colonna++)
    fscanf(a, "%d", &matrice[riga][colonna]);

    printf("%d\n", matrice);

    fclose(a);
    return(0);
    }



    nel file.txt la matrice è 3x3 e in questa prova ho provato a dargli delle dimensioni fisse preimpostate...

    1 2 3
    4 5 6
    7 8 9

    ....mmmmmmmm xke non funziona ??? :'(
  • Re: Programma ANSI C

    Questa è la tua formula x la deviazione standard.

    http://upload.wikimedia.org/math/b/8/c/b8c378a004d47a46913a53bd9857f329.png

    Non funziona perche.... non ho con me la palla di vetro... è in riparazione. prova a leggere tutta la riga in un colpo con gets.
  • Re: Programma ANSI C

    Il tuo inserimento è OK. Fai la cosa inversa con printf.
  • Re: Programma ANSI C

    Ps.... mi sono dimenticata una cosa fondamentale...si tratta di algoritmi e strutture dati...quindi invece ke in un array potrei inserire le mie "care" matrici in una struttura dati tipo INSERTTSORT...
  • Re: Programma ANSI C

    Anche con printf m da sempre un risultato errato...
  • Re: Programma ANSI C

    Che centra insertionsort che è un algoritmo di ordinamento con l'inserimento dati della matrice.

    Inizia da quì
    
    #include <stdio.h>
    
    int main (void)
    {
    	int riga;
    	int colonna;
    	int matrice[3][3];
    	FILE *a;
    	a = fopen("matrice_A.txt", "r");
    
    	for(riga=0; riga<3; riga++)
    		for(colonna=0; colonna<3; colonna++)
    			fscanf(a, "%d", &matrice[riga][colonna]);
    
    	fclose(a);
    
    	for(riga=0; riga<3; riga++)
    	{
    		for(colonna=0; colonna<3; colonna++)
    			printf("%d ", matrice[riga][colonna]);
    		printf("\n");
    	}
    	
    	return(0);
    }
    
  • Re: Programma ANSI C

    -.-'' ke figura...oddio credo ke doveri andare a dormire!!! grazie mille...
    cmq tu cosa ne pensi del discorso di INSERTSORT??
  • Re: Programma ANSI C

    Ti ho risposto prima. InsertionSort è un algoritmo di ordinamento.
  • Re: Programma ANSI C

    Ok...quindi ricreando lo stesso codice anche x il file con la matrice B e poi iniziare con la sottofunzioni(tipo pordotto etc...) va bene? basta cosi x questo progetto? e sopratutto il discorso della complessità come lo doveri gestire?
  • Re: Programma ANSI C

    La complessità è una cosa teorica. la deviazione standard ha una complessità pari a O(N) seconda la formula di sopra.
Devi accedere o registrarti per scrivere nel forum
52 risposte