Welcome to the forum 👋, Visitor

To access the forum content and all our services, you must register or log in to the forum. Becoming a member of the forum is completely free.

Chat Shqip

Chati më i madh Shqipëtar Takohu.com

Futu në Chat !

  • PËRSHËNDETJE VIZITOR!

    Nëse ju shfaqet ky mesazh do të thotë se ju nuk jeni regjistruar akoma. Anëtarët e rregjistruar kanë privilegjin të marrin pjesë në tema të ndryshme si dhe të komunikojnë me anëtarët e tjerë. Bëhu pjesë e forumit Netedy.com duke u REGJISTRUAR këtu ose nëse ke një llogari KYCU. Komunikim alternative i ketij forumi me vajza dhe djem nga te gjithe trevat shqiptare? Hyr ne: CHAT SHQIP.

Funksioni Palindrome

centos

forumShqip
ANETAR ✓
Regjistruar më
Dhjetor 13, 2004
Mesazhe
43,249
Pëlqime
40,169
Code:
/*   
      A palindrome is a word, phrase, number, or other sequence of symbols or elements,
  whose meaning may be interpreted the same way in either forward or reverse direction.
  This program will prompt the user to enter a word or a sentence and then confirms if
  the user's entry is an palindrome or not.   
*/
#include <iostream>
#include <cstdlib>
 
bool isPalindrome( char [] );
 
int main( int argc, char *argv[] )
{
    char userString[300];
    std::cout << \"Type a word or phrase to see if it's a Palindrome.\" << \"\n\n\";
    std::cin.getline(userString, 300);     
    std::cout << \"\n\";
    if ( isPalindrome( userString ) )
            std::cout << \"\\"\" << userString << \"\\" is a Palindrome.\";
    else
            std::cout << \"\\"\" << userString << \"\\" is not a Palindrome.\";   
    std::cout << \"\n\n\";
    system( \"PAUSE\" );       
    return 0;
}
/*
  The following function will return true if the array parameter is a palindrome.
  
  Step 1: First it counts how many characters are in the parameter array and then creates a new
          array (array1) with that count size.
 
  Step 2: The contents of the parameter array are copied to array1 with no spaces or punctuations.
          - This is accomplished by checking the user's array for anything other than an
            alphetbet character. When an non-alpha character is found, that array element
            postion is recorded. It then copies the user's array contents from the starting
            element position to the position right before the non-alpha character to the new
            array (array1). The element position right after the non-alpha character then
            becomes the new starting position and the process iterates until array1 has only
            one element position left in which a null terminator will be assigned.
 
  Step 3: array1 is then tested to see if it's a palindrome. Instead of copying array1 into an
          another array in reverse order and then comparing the two, the test can be
          accomplished by comparing array1 within itself.
          - This is accomplished by comparing array1's first character with it's last character.
            if both those charcters are the same, whether uppercase or lowercase, it then compares
            array1's second character with it'a second-to-last character....and so forth until the
            middle of array1 is reached. If at anytime, however, a comparison is not the same then
            the 'isPalindrome' flag is set to false and the loop ends. The 'isPalindrome' flag will
            remain true if and only if all comparisons are the same.
            
  Step 4: The function then returns the boolean value of isPalindrome.
*/
bool isPalindrome( char array[] )
{
    bool isPalindrome = true;
    int size = 0, index = 0, startingPos = 0, count1 = 0;   
    // Step 1
    while ( array[size] != '\0' )
    {                             
            size++;
    }   
    char array1[size + 1];
    // Step 2
    while ( index < size )
    {                     
            while ( (array[index] >= 'A' and array[index] <= 'Z') or
                    (array[index] >= 'a' and array[index] <= 'z')    )
                    index++;
            for ( int count = startingPos; count < index; count++ )
            {
                    array1[count1] = array[count];
                    count1++;
            }
            index++;
            startingPos = index;
    }
    array1[count1] = '\0'; 
    //Step 3
    index = 0;
    while ( index <= (count1 - 1)/2 and isPalindrome )
    {
            if ( array1[index] != array1[count1 - index - 1]      and
                 array1[index] != array1[count1 - index - 1] - 32 and
                 array1[index] != array1[count1 - index - 1] + 32 and
                 array1[index] - 32 != array1[count1 - index - 1] and
                 array1[index] + 32 != array1[count1 - index - 1]     )
                    isPalindrome = false;
            index++;
    }
    // Step 4
    return isPalindrome;
}
 

Welcome to the forum 👋, Visitor

To access the forum content and all our services, you must register or log in to the forum. Becoming a member of the forum is completely free.

Theme customization system

You can customize some areas of the forum theme from this menu.

  • Wide/Narrow view

    You can control a structure that you can use to use your theme wide or narrow.

    Grid view forum list

    You can control the layout of the forum list in a grid or ordinary listing style structure.

    Picture grid mode

    You can control the structure where you can open/close images in the grid forum list.

    Close sidebar

    You can get rid of the crowded view in the forum by closing the sidebar.

    Fixed sidebar

    You can make it more useful and easier to access by pinning the sidebar.

    Close radius

    You can use the radius at the corners of the blocks according to your taste by closing/opening it.

  • Choose the color combination that reflects your taste
    Background images
    Color gradient backgrounds
Back