Автор: Skyer1
Дата сообщения: 23.04.2009 15:06
Здравствуйте, нужно ваша помощь у меня есть программа написанная на С++( нахождение палиндрома) нужно изменить ее, для запуска на С# я сам с синтаксисом языка плохо знаком, на С++ программа работает полностью.
[more=Код программы]
#include "stdafx.h"
#include <iostream.h>
using namespace std;
// Узнаём количество разрядов в числе
int numRasryad(int numRas)
{
int num1 = numRas,
i = 0;
while(num1 != 0){
num1 /= 10;
i++;
}
return i;
}
int main()
{
int number = 1,
num,
Ras,
z = 1,
size,
quadroSize = 100; // Менять значение для получения нужного результата, 10, 100, 1000. Круглые целые.
for(int quadro = 1; quadro < quadroSize; quadro++){
size = numRasryad(quadro * quadro);
// Создаём массив размером с количество разрядов в числе
// и инициализируем нулями
int *array = new int[size];
for(int i = 0; i < size; i++)
array[i] = 0;
size--;
// Дробим число и записываем его в массив
// по каждому разряду на элемент
for(int i = size; i >= 0; i--){
array[i] = (quadro * quadro) / number % 10;
number *= 10;
}
size++;
// Сравниваем по разрядам:
if(size == 1) // Для чисел с одним разрядом, от: 0 - 9
cout<<"Number: "<<quadro<<" Quadro = "<<quadro * quadro<<" - Palindrom."<<endl;
else if(size == 2){ // Для чисел с двумя разрядами, от: 10 - 99
if(array[0] == array[1])
cout<<"Number: "<<quadro<<" Quadro = "<<quadro * quadro<<" - Palindrom."<<endl;
}
else if(size == 3){ // Для чисел с тремя разрядами, от: 100 - 999
if(array[0] == array[2])
cout<<"Number: "<<quadro<<" Quadro = "<<quadro * quadro<<" - Palindrom."<<endl;
}
else if(size == 4){ // Для чисел с четырмя разрядами, от: 1000 - 9999
if(array[0] == array[3] && array[1] == array[2])
cout<<"Number: "<<quadro<<" Quadro = "<<quadro * quadro<<" - Palindrom."<<endl;
}
else
cout<<" Error: Sorry..."<<endl;
delete[] array;
number = 1;
}
cin>>z;
}
[/more]