Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 24 su 24
  1. #21
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    25
    Originariamente inviato da oregon
    Ti sei perso i due post precedenti ...
    Hai ragione … ma io purtroppo a casa ho la connessione lenta… difatti ho modificato il mio messaggio appena me ne sono accorto… ma non ho fatto in tempo lo stesso…
    Grazie a te e a Samuele_70 adesso ho capito… tutto chiaro!
    Grazie di nuovo.
    Ciao

  2. #22
    Potresti semplificarlo un poco, modificandolo così :
    codice:
    #include <stdlib.h>   /* librerie standard */
    #include <stdio.h>    /* funzioni printf, scanf */
    #include <string.h>   /* librerie delle string */
    #define LUNGHEZZA 50  /* lunghezza massima vettore */
    /* Dichiarazioni Funzioni */
    void toglispazi(char nuovo[], char vecchio[]);    /*toglie spazi in una stringa*/
    int palindroma(char nuovo[], int n);
    
    /* Inizio del Main */
    int main(void)
    {
    	char vettore_input[LUNGHEZZA];/*input, vettore inserito dall utente che può comprendere spazi*/
    	char parola[LUNGHEZZA];       /*variabile di programma, il contenuto è copiato da vettore_input senza gli spazi*/
    
    	printf("Inserisci una parola o una frase senza usare segni di punteggiatura:\n\n---> "); /* inserimento */
    	fgets( vettore_input, LUNGHEZZA, stdin);
    
    	printf("\nLa stringa inserita e'->\n");
    	printf("%s\n", vettore_input);              /* stampa a video */
    
    	toglispazi(parola, vettore_input);          /* chiamata funzione - toglie eventuali spazi nella stringa*/
    	printf("\nLa stringa senza spazi e'->\n");
    	printf("%s\n", parola);                     /* stampa a video */
    
    	if (palindroma(parola, strlen(parola))==0)
    		printf("\nLa stringa non e' palindroma\n\n");
    	else
    		printf("\nLa stringa e' palindroma\n\n");
    
    	system("pause");
    	return(0);                                    /* fine del main */
    }
    
    /* funzione calcola - togli spazi */
    void toglispazi(char nuovo[], char vecchio[])
    {
    	int i, j=0, len=strlen(vecchio); /* ciclo di conteggio */
    	/* non considero NESSUNO dei caratteri 'speciali' */
    	for(i=0; i<len; ++i)
    		if((vecchio[i]>='0' && vecchio[i]<='9') ||
    		   (vecchio[i]>='A' && vecchio[i]<='Z') ||
    		   (vecchio[i]>='a' && vecchio[i]<='z') ) 
    			nuovo[j++]=vecchio[i];
    	nuovo[j]='\0';
    }
    
    int palindroma(char *nuovo, int n)
    {
    	if (n <= 1) return 1;
    	if (*nuovo != *(nuovo+n-1)) return 0;
    	return(palindroma(nuovo+1, n-2));
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #23
    ragazzi devo prendere un cognome di massimo 25 caratteri che può contenere spazi...ho seguito la vostra discussione ma se uso fgets come ho letto qui mi salta la lettura e non mi fa inserire nulla da tastiera passando all'istruzione successiva...mi aiutate pleaseeeeee...anche se avete qualche soluzione diversa

  4. #24
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma cosa c'entra questo con la stringa palindroma?

    E' meglio che inizi una nuova discussione con il titolo corretto e spiegandoti con maggiore precisione ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.