CERCA
30-10-2020 13:01

Esercizi settimana 5

da consegnare entro: 08/11/2020

 

 

ESERCIZIO 1

Scrivete un programma che generi una “passeggiata aleatoria” (random walk) in un array bidimensionale di dimensione 10×10. L’array sarà riempito di caratteri (inizialmente da punti). Il programma dovrà muoversi di elemento in elemento spostandosi ogni volta di un passo in direzione su, giù, destra o sinistra. Gli elementi visitati andranno etichettati con le lettere dalla A alla Z, nell’ordine in cui vengono visitati. E’ importante controllare ad ogni passo che la passeggiata non esca dall’array e che non ritorni su posizioni già visitate. Quando si verifica una di queste condizioni, provate in altre direzioni. Se tutte e quattro le direzioni sono bloccate, il programma deve uscire.

Ecco un esempio di funzionamento completo:

A . . . . . . . . . .

B C D . . . . . . .

. F E . . . . . . .

H G . . . . . . . .

I . . . . . . . . .

J . . . . . . . Z .

K . . R S T U V Y .

L M P Q . . . W X .

. N O . . . . . . .

. . . . . . . . . .

Ecco un esempio di uscita prematura dal programma:

A B G H I . . . . .
. C F . J K . . . .
. D E . M L . . . .
. . . . N O . . . .
. . W X Y P Q . . .
. . V U T S R . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .

Y è bloccata in tutte le direzioni quindi non c’è modo di inserire Z.

 

 

ESERCIZIO 2

Scrivere un programma C che riceva in ingresso due parole inserite da tastiera. Si consideri che ciascuna parola può contenere al massimo 30 caratteri. Il programma deve essere case sensitive, cioè deve distinguere lettere minuscole da lettere maiuscole e deve essere in grado anche di analizzare numeri, simboli e segni di punteggiatura. Il programma deve sostituire ogni occorrenza della seconda parola nella prima parola con il carattere ’*’. Ad esempio, inserite le parole

abchdfffchdchdtlchd

e

chd

il programma deve visualizzare la parola

ab*fff**tl*

Scrivere due versioni: la prima deve ignorare la presenza della libreria string.h e quindi dovete lavorare esplicitamente su ogni singolo carattere delle stringhe. La seconda deve usare le funzioni della libreria string.h per determinare la lunghezza e per ricercare sotto-stringhe all'interno di una stringa

 

 

PROCEDI CON LA CONSEGNA DEGLI ESERCIZI