• Non ci sono risultati.

Stringhe in C

N/A
N/A
Protected

Academic year: 2021

Condividi "Stringhe in C"

Copied!
11
0
0

Testo completo

(1)

Stringhe in C

Alessandra Giordani agiordani@disi.unitn.it Lunedì 20 maggio 2013

http://disi.unitn.it/~agiordani/

(2)

EsErCiZiO PaRi DiSpArI

 Scrivere un programma che legge una

frase e rende maiuscoli tutti i caratteri pari e minuscoli quelli dispari

 Per sapere se un numero è pari o dispari

 Per sapere se un numero è pari o dispari controlliamo il resto della divisione per 2

3%2 = 1

4%2 = 0

 Oppure sfruttiamo la divisione intera

3/2*2 ≠ 3

4/2*2 ≠ 4

(3)

EsErCiZiO PaRi DiSpArI

 Possiamo procedere in più modi

Rendere tutto minuscolo e poi solo cambiare in maiuscolo i pari (o contrario)

Rendere tutti i dispari minuscoli e tutti i pari

Rendere tutti i dispari minuscoli e tutti i pari maiuscoli

 2 cicli separati (da i=0 e da i=1 con i=i+2)

 1 ciclo che considera coppie i e i+1 a due a due

(4)

Soluzione 1

(5)

Soluzione 2

(6)

Soluzione 3

(7)

Parole palindrome

Es. ANNA, Es. ANNA,

ONORARONO, … ONORARONO, …

(8)

Frasi palindrome

(a meno di spazi)

Es. i topi non avevano Es. i topi non avevano nipoti, ai lati

nipoti, ai lati d’d’italiaitalia…

(9)

Inversione di una stringa

 Leggo una parola a di lunghezza sconosciuta sconosciuta (dim max 20)

 Inserisco in b i caratteri di a in ordine inverso

 Stampo stringhe

(10)

Esecizi:

 Inversione di una frase

 Implementare i programmi visti in queste slides separando il codice relativo alla

manipolazione delle stringhe in una manipolazione delle stringhe in una funzione a parte

 void cambia (char * str)

 int palindroma (char * str)

 void inverti (char * str)

(11)

Simulazione di prova pratica

 La concatenazione di due stringhe è palindroma?

 Implementare un programma che richiama la funzione:

la funzione:

int palindrome (char *s1, char *s2)

 Che ritorna 1 se la concatenazione di s1 con s2 è una stringa palindroma

 con “ai lati” e “d’italia” ritorna 1

 con “d’italia” e “ai lati” ritorna 0

Riferimenti

Documenti correlati

La specifica %c legge 1 carattere ( anche se è uno spazio o un ritorno a capo , ossia non li salta come le altre specifiche di conversione della scanf) e lo mette (o meglio mette

The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex

int indexOf(String str, int fromIndex) : Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. boolean isEmpty()

I Quando si dichiara una funzione che prende come parametro un array multi-dimensionale, solo la prima dimensione pu` o essere lasciata non specificata..

Valutazione di codice con

Scrivere un metodo che, dato un array bidimensionale quadrato a di caratteri, restitui- sce la stringa ottenuta concatenando i caratteri presenti nel triangolo in alto a

Prima di chiamare la free sull'array chiamarla su ogni

strncpy() Copia i primi n caratteri di una stringa in un’altra stringa strcat() Concatena due stringhe. strncat() Concatena i primi n caratteri di una stringa ad un’altra