עבור לתוכן

עזרה בשאלת פלינדרום C#

Featured Replies

פורסם

שלום לכולם..

אני מתקשה בשאלה של פלינדרום.

כתוב תוכנית הקולטת מספר שלם וחיובי ובודקת:

א. אם המספר פלינדרום התוכנית תסיים בהודעה מתאימה

ב.אם המספר לא פלינדרום התוכנית תנסה לייצר ממנו פלינדרום.

זאת השאלה כמו שאתם רואים לעיל.

קצת קשה לי אני לא הכי זוכר את הפלינדרום הזה ואיך מבצעים את התוכנית.

תודה רבה רבה לכול מי שיעזורררררר ;D

פורסם

פולינדרום זה מספר שניתן לקרוא אותו גם הפוך ויוצא אותו דבר.

דוג' 12321

במקרה יש לי תוכנית כזאת :) אבל אין שמה חלק שמנסה ליצור ממספר לא פולינדרומי, מספר כן פולינדרומי.

קבל:

#include <stdio.h>
#include <iostream.h>

int plindrom (long num);
int exp (int power);

void main()
{
long num;
while(1)
{
cout <<"Enter the number to be checked: "; cin >>num;
cout <<endl<<"The number is";
if (!plindrom (num)) cout <<" NOT";
cout <<" a polindrom"<<endl<<endl;
}
}

int plindrom (long num)
{
int i,j,length=1,rez=1;
long numtemp=num;

while (numtemp/10)
{ numtemp/=10; length++; }

for (i=0,j=length-1;i<length;i++,j--)

{ if ( (num%exp(i+1))/exp(i) != (num%exp(j+1))/exp(j) ) rez=0; }

return(rez);
}

int exp (int power)
{
int rez=1;
for (;power>0;power--) { rez*=10; }
return (rez);
}

פורסם

לייצור פלינדרום ממספר כלשהו זה פשוט מאוד - פשוט לוקחים את כל הספרות, הופכים את הסדר שלהן, ומשרשרים למספר הקודם.

פורסם

כך עושים את זה ב C#


using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n, revn = 0, tmpn;
// get the number from user
n = int.Parse(Console.ReadLine());
tmpn = n;

// if the number is 0 then skip else start finiding philndrom
while (tmpn != 0)
{
revn = (revn * 10) + tmpn % 10;
tmpn = tmpn / 10;
}
if (revn == n)
Console.WriteLine("Symetric");
else
Console.WriteLine("NOT Symetric");

Console.ReadLine();
}
}
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים