logo Thecsea.it



Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License



scolastica » esercizi » terza superiore » linguaggio c

Testo dell'esercizio

Scrivere un metodo che letta in input una stringa verifichi se è palindroma. Per palindroma si intende una stringa che può essere letta sia da sinistra verso destra che da destra verso sinistra, Ad esempio Anna o Ada

mostra soluzione

/*
CLAUDIO CARDINALE III AI
Scrivere un metodo che letta in input una  stringa verifichi se è palindroma. Per palindroma si intende una stringa che può essere letta sia da sinistra verso destra che da destra verso sinistra, Ad esempio Anna o Ada
*/
#include<stdio.h>
#define MAX 1000
int main(){
	
	//dichiarazioni
	
	int i,j,len=0,len2,err=1;
	char frase[MAX];
	
	
	//acquisizione dati
	
	printf("inserire la frase (invio per interrompere) : ");
	gets(frase);
	
	
	//calcoli
	
	//lunghezza
	
	while(frase[len] != '\0')
		len++;
	
	//controllo lunghezza
	
	len2 = len;
	
	if(len%2)
		len2--;
	
	//controllo
	
	for(i=0,j=len-1;i<len2/2 && err;i++,j--){
		if(frase[i]>='a')
			frase[i]=frase[i]-'a'+'A';
		
		if(frase[j]>='a')
			frase[j]=frase[j]-'a'+'A';
		
		if(frase[i] != frase[j])
			err = 0;
	}
	
	
	//visualizzazione risultati
	
	if(err)
		printf("la stringa e` palindroma\n");
	else
		printf("la stringa non e` palindroma\n");
}

Testi Consigliati:

Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C

torna



Copyright © 2004-2024 thecsea.it (Claudio Cardinale - [email protected])! Tutti i diritti riservati. - contattaci