Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Homework 2 Esercizio 1

f.cocci (650 points)
3 13 17
in Es1 by (650 points)
Ciao a tutti, relativamente all'esercizio 1 dell'homework 2, ho capito che dato un file, all'interno di un contesto bisogna aprirlo leggerlo e inserirlo in una variabile in memoria.

Ora il punto e' che dato il testo devo in qualche modo predisporlo per inserire il diagramma in una matrice, e le parole in una lista (per lo meno e questo che mi viene in mente).

Immagino che dato che il testo e' formattato con degli "a capo" posso sfruttarli per suddividere il testo ma quello che riesco a ottenere e' una lista che contiene come singoli elementi 2 elementi che non contengono nulla, poi a seguire tanti elementi quante sono le righe del diagramma, poi ancora un paio di elementi vuoti e infine la lista di parole e ancora in fine un paio di elementi vuoti.

Non so come andare avanti adesso. :-(

Un saluto, F.
406 views
closed

1 Answer

Best answer
Xriuk (13590 points)
8 24 116
by (13.6k points)
selected by

Il testo è formattato con gli a capo, e puoi sfruttarli, ma se leggi c'è scritto che ci sono anche diverse righe vuote prima e dopo la griglia e la lista di parole, quelle le devi saltare, in sostanza le fasi sono queste:

  1. Salti le righe vuote
  2. Leggi ogni riga (che corrisponde alle righe della matrice) finchè non trovi una riga vuota
  3. Salti le righe vuote
  4. Leggi per ogni riga una parola finchè non trovi una riga vuota
  5. Fine: ora devi implementare il tuo algoritmo dopo
f.cocci (650 points)
3 13 17
by (650 points)
Grazie per il feedback.

ma sono ancora in alto mare.

Pensavo che una linea vuota e un a capo fossero la stessa cosa ('\n').

Implementando un algoritmo di questo tipo, ottengo un'unica lista che contiene sia, come elementi, le righe del diagramma, sia le parole.
Xriuk (13590 points)
8 24 116
by (13.6k points)
Dipende come ottieni le tue linee, potresti avere o non avere alla fine di ognuna il simbolo dell'"a capo" (\n), se ce l'hai le tue linee vuote saranno "\n", altrimenti solo ""

Va bene avere tutto in un'unica lista (che presumo tu ottenga dalla lettura del file), l'importante è scorrerla in modo giusto dopo e ti suggerisco di salvare poi griglia e lista in variabili separate (matrice e lista)
f.cocci (650 points)
3 13 17
by (650 points)
Okay Thx.

Al momento ho implementato una cosa del genere:

#Leggo il file di testo.

#Lo salvo in memoria come unica stringa di testo.

#Con il metodo "salta linee" delle stringhe mi creo una lista che contiene come elementi righe vuote, righe della griglia, righe vuote, parole,e ancora righe vuote.

#con un ciclo ripulisco questa lista dalle righe vuote imponendo di andare avanti ogni qual volta l'elemento della lista corrisponde a ' '.

Ora da questo listone dovrei fare due cose suppongo: creare una matrice da una parte, e crearmi una lista che contiene le parole, corretto?

Thx again, F.