di Milano
Tipi di dati
#include <stdio.h>
#define MAX_NUM 10
typedef int sequenza[MAX_NUM]; Dichiarazione tipo di array
void main()
{
int i; sequenza seq; Dichiarazione di variabile array
/* acquisizione dei dati */ 0
printf(“Inserisci %d numeri interi\n”, MAX_NUM); 1
i = 0; Accesso all’elemento i-esimo
while(i<MAX_NUM) nell’array 2
{ scanf(“%d”, &seq[i]); i++; } 3
! I passi dell’algoritmo
! Acquisisci gli elementi dell’array
! Acquisisci il valore da cercare nell’array
! Effettua l’operazione di ricerca e stampa il risultato
! Considera un elemento dell’array e verifica se è uguale
al valore acquisito.
– Se si, stampa un messaggio positivo e termina il
programma
– Se no, passa a considerare l’elemento seguente
Esempio: ricerca di un elemento in un
array di interi (2)
#include <stdio.h>
#define MAX_NUM 10
void main()
{
int a[MAX_NUM];
int val, i;
/* acquisizione elementi dell’array */
for(i=0; i<MAX_NUM; i++)
scanf(“%d”, &a[i]);
/* acquisizione valore da cercare */
scanf(“%d”, &val);
/* scandisce l’array per trovare l’elemento */
for(i=0; i<MAX_NUM && a[i]!=val; i++)
; /* istruzione vuota */
if(i<MAX_NUM)
printf(“valore %d trovato in pos %d\n”, val, i);
else printf(“valore %d non trovato\n”, val);
}
Esercizi
#include <stdio.h>
#define MAX_NUM_CHAR 30
typedef char stringa[MAX_NUM_CHAR];
typedef enum {falso, vero} boolean;
void main()
{
stringa parola;
int pos;
boolean trovato;
i j
i=0; #include <string.h>
j=strlen(stringa)-1;
while(stringa[i]==stringa[j] && i<j)
{
i++;
j--;
}
if(i>=j)
printf("la stringa e` palindrome\n");
else printf("la stringa non e` palindrome\n");
Esercizi