Aiuto Con Esercizio In C

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
Vito
Staff
Staff
Messaggi: 4182
Iscritto il: mar 5 dic 2006, 17:28
Nome Cognome: Vito
Desktop: MacOS
Località: Monaco (DE)
Contatta:

Re: Aiuto Con Esercizio In C

Messaggio da Vito »

Ma non è che ti stai impantanando per un "semplice" esercizio di lettura scrittura su file?

Cioè tu puoi scrivere/leggere indifferentemente sia matrici "normali" che sparse utilizzando fprintf/fscanf ....
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]

"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Aiuto Con Esercizio In C

Messaggio da targzeta »

Per prima cosa devi scrivere due funzioni
  • la prima per scrivere una struttura dati su di un file
  • l'altra per leggere la struttura dati dal file in memoria
usa le fwrite(3)/fread(3) o le read(2)/write(2). Scrivi quindi un main che usa queste due funzioni e così prenderai dimestichezza con la scrittura di strutture dati e altri dati su di un file.

Quindi implementi una funzione che scandisce la matrice e decide se è spara oppure no, a seconda se il numero degli zeri trovati nella matrice è significativo o no (almeno la metà dei numeri contenuti nella matrice).
Poi scrivi le funzioni normali per salvare matrici qualsiasi e la funzione per salvare una matrice sparsa. Sul file ricordati che devi anche inserire
  • una marca che ti indica se la matrice è sparsa o meno
  • i numeri m e n, m stà per le righe e n per le colonne della matrice
Facci sapere,
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
m0rdr3d
Linux 2.x
Linux 2.x
Messaggi: 404
Iscritto il: dom 24 dic 2006, 13:40
Slackware: Slackware64-current
Kernel: 3.4.*
Desktop: KDE 4.8.2

Re: Aiuto Con Esercizio In C

Messaggio da m0rdr3d »

Potresti -se non sono indiscreto- dirci indicativamente che corso di laurea stai seguendo e per quale esame devi fare questo esercizio? Perché aiuterebbe molto nel restringere il dominio della soluzione...

Se stai seguendo un corso di introduzione al C allora l'esercizio potrebbe riguardare più la programmazione e la lettura/scrittura su file, se stai seguando un corso di computabilità ed algoritmi allora la parte importante sarebbe trovare un algoritmo che permetta da descrizione efficiente e con un basso numero di accessi a disco per rappresentare tale struttura.

Ciao, e in bocca al lupo!

Rispondi