Parola palindroma

di il
6 risposte

Parola palindroma

Salve a tutti, avevo già provato a scrivere con successo questo programma in C, ma in C# mi da sempre il problema che non mi dice se una parola è palindroma. Me le considera tutte non palindrome. Vi posto il listato:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
int i, n, k; //dichiarazione variabili
char[] a = null;
char[] aus = new char[50];


do //inserimento parola
{
Console.WriteLine("\nScrivi una parola: ");
a = Console.ReadLine().ToCharArray();
n = a.Length;

} while ((n < 0) || (n > 50));

aus[n] = '\0'; //inserimento valore NULL

i = 0; //creazione parola inversa
for (k = n - 1; k >= 0; k--)
{
aus[k] = a;
i++;
}

if (Equals(a, aus) == true) //controllo delle due parole
Console.WriteLine("La parola inserita e\' palindroma.");
else
Console.WriteLine("La parola inserita non e\' palindroma.");

Console.ReadLine();
}
}
}

Non capisco cosa ci sia di sbagliato. Grazie mille in anticipo!!

6 Risposte

  • Re: Parola palindroma

    Non c'è nessuno che mi può aiutare?
  • Re: Parola palindroma

    Le stringhe in C# non hanno terminatore come in C, ma sono oggetti ed esistono direttamente come string

    Riscrivi così
    
                    int n, k;
                    string a, aus="";
    
                    do 
                    {
                        Console.WriteLine("\nScrivi una parola: ");
                        a = Console.ReadLine();
                        n = a.Length;
                    } while ((n < 0) || (n > 50));
    
                    for (k = n - 1; k >= 0; k--)
                        aus += a[k];
    
                    if (a == aus)
                        Console.WriteLine("La parola inserita e\' palindroma.");
                    else
                        Console.WriteLine("La parola inserita non e\' palindroma.");
    
                    Console.ReadLine();
    
  • Re: Parola palindroma

    Cosa vuol dire l'istruzione: "aus += a[k];" ?
  • Re: Parola palindroma

    È come scrivere

    aus = aus + a[k];
  • Re: Parola palindroma

    Perfetto grazie, ora il programma funziona, ero abituato col C nel quale non esiste il tipo stringa e ti dovevi creare il vettore di caratteri.
  • Re: Parola palindroma

    Ma esiste in C++ e quando usi un nuovo linguaggio ne devi padroneggiare almeno le basi.

    P.S. Un consiglio ... Un forum non è un call center ... anche se non hai risposte per un giorno non devi sollecitare...
Devi accedere o registrarti per scrivere nel forum
6 risposte