Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Stringhe Palindrome
Forum - C/C++ - Stringhe Palindrome

Avatar
marcomo (Normal User)
Newbie


Messaggi: 2
Iscritto: 17/10/2007

Segnala al moderatore
Postato alle 9:53
Mercoledì, 17/10/2007
Salve,
dovrei fare un programma che una volta inserite 2 stringhe indipendenti, mi dice se sono palindrome o no. ( es.   roma     amor )
Io l'ho provato a fare ma sbaglio qualcosa con i cicli while e và in loop,

Grazie a tutti

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:35
Mercoledì, 17/10/2007
dacci il codice, cmq basta che controlli prima la dimensione, se è diversa non sono palindrome, poi controlli con due cicli, uno verso la fine e nell'altra verso l'inizio e verifichi lettera per lettera e se una è diversa non è palindroma.

cmq se ci dai il codice vediamo cosa sbagli

PM Quote
Avatar
marcomo (Normal User)
Newbie


Messaggi: 2
Iscritto: 17/10/2007

Segnala al moderatore
Postato alle 15:45
Mercoledì, 17/10/2007
Sono riuscito a correggere l'errore, avevo sbagliato e faceva un cicli in più. Cmq a chi può essere utile posto il codice.

Grazie cmq


#include <iostream.h>
#include <stdlib.h>

const int MAX_DIM= 10;

int palin( char prima[], char seconda[], int dim){


     int p = 0 ;                                                   //indice del primo array
     int i = dim-1;                                                 //indice del secondo array

     while( p <= dim-1){
            while( prima[p]==seconda[ i]){                         //Confronta gli indici dell'array
                i--;p++;};                                        //primo con quelli del secondo
                if ( p == dim){ cout<<"E' palindroma\n\n\n";}     //se compie tutte le scansioni fino
               else cout<<"Non e' palindroma\n\n\n" ;             //alla dimensione della parola allora,
                            return 0;}}                           //sono uguali.


int main()
{
int n ;
int dimensione;
char primaparola[10];
char secondaparola[10];

cout<<"Inserisci la dimensione"<<"\t";
cin>>dimensione;


if ( dimensione > MAX_DIM){
               cout<<"Hai superato la dimensione massima.\n\n\n";
                           system("PAUSE");
                           return 0;}


cout<<"Inserisci la prima parola\t";
cin>>primaparola;
cout<<"Inserisci seconda parola\t";
cin>>secondaparola;

  n = palin( primaparola,secondaparola, dimensione);

cout<<n;


      system("PAUSE");
      return 0;
}


Aggiustato il source

Ultima modifica effettuata da pierotofy il 17/10/2007 alle 18:59
PM Quote