Homework (compito per casa) 3
La sorgente d'acqua
Vedi anche:
DomandeHomework304,
SoluzioneHomework304,
RisultatiHomework304
Descrizione
Una matrice di interi di dimensioni m x n rappresenta le quote di un rilievo topografico. In una certa coordinata è presente una sorgente d'acqua. Sapendo che l'acqua può scendere in tutte le direzioni (verticale, orizzontale, diagonale) verso punti con quota minore o uguale, ma ovviamente non può salire, determinare tutte le zone che saranno allagate.
Il vostro programma dovrà:
Input
- accettare in input le dimensioni della matrice (due interi, prima il numero di righe, poi il numero di colonne);
- accettare in input m x n valori interi che rappresentano le quote (la matrice viene letta per righe).
- accettare in input le coordinate della sorgente (due interi, prima la riga, poi la colonna)
Output
- produrre in output una matrice con le stesse dimensioni di quella inserita in input, in cui ci sarà un 2 nella posizione in cui si trova la sorgente d'acqua, 1 in tutti i punti raggiunti dall'acqua, e 0 nei restanti
IMPORTANTE
- non far produrre al programma altri output oltre a quelli richiesti.
- stampare gli elementi della matrice di output con il formato:
%3d
OSSERVAZIONE
Chi non volesse allocare dinamicamente la matrice, può prevedere delle dimensioni massime (50 righe e 50 colonne): non farò test con dimensioni maggiori.
Ecco un esempio di input del programma (i primi due numeri sono le dimensioni della matrice, i successivi 15 gli elementi della matrice e gli ultimi due la posizione della sorgente d'acqua):
3
5
8
1
7
4
6
1
2
9
8
3
7
6
1
9
2
0
2
La matrice
che non dovete stampare è la seguente:
8 1 7 4 6
1 2 9 8 3
7 6 1 9 2
Con questi dati di ingresso, l'output prodotto dovrà essere il seguente:
0 1 2 1 0
1 1 0 0 1
0 0 1 0 1
Attenzione NON producete nessuna altra scritta oltre i numeri, altrimenti il test automatico del vostro programma fallirà miseramente!
Come compilare ed eseguire il programma
- usate un editor per scrivere il testo del programma e salvatelo in formato testo semplice in un file con l'estensione .c (ad esempio di nome trexpuno.c)
- NON usate Word, Openoffice, Kword, Abiword che introducono caratteri strani
- compilate (e contemporaneamente linkate) il programma con il comando
gcc -g -o eratostene eratostene.c
- eseguite il programma scrivendo
./eratostene
Come consegnare il programma
- Avete tempo fino a Giovedì 9 Dicembre alle ore 23.59 (ora sono le 15:41 del 24).
- Consegnate il testo del programma sorgente C da voi scritto. Io lo compilerò e testerò.
- Usate esclusivamente la pagina di consegna. Non verranno accettate spedizioni via email.
--
IvanoSalvo - 29 Nov 2004