Консультация № 185214
19.01.2012, 07:37
60.32 руб.
0 1 1
Здравствуйте! Прошу помощи в следующем вопросе: нужна простенькая программка рекурсия нахождение факториала и с пояснением если можно, и вторая линейный или бинарный поиск (поиск в массивам) ну там что то чтобы вводишь число а он пишет количество различных цифр либо какая цифра стоит на каком месте и если можно то тоже с пояснением, заранее благодарен

Обсуждение

Неизвестный
19.01.2012, 12:01
общий
это ответ
Здравствуйте, Иванов Евгений Александрович!
Код приведён ниже:
Код:
using System;

namespace ConsoleApplication2
{
class Program
{
/// <summary>
/// Функция вычисления значения факториала
/// </summary>
/// <param name="inData">Число, факториал которого надо вычислить</param>
/// <returns>значение</returns>
static int Fuctorial(int inData)
{
int outData;

//по условия файториал 0 равен 1
if (inData == 0)
{
outData = 1;
}
//вычисляем значение факториала
// "спускаем" inData к 1
else
{
outData = inData * Fuctorial(inData - 1);
}

return outData;
}

/// <summary>
/// Функция о нахождения количества цифр в числе.
/// </summary>
static void Cifra()
{
//Ввод числа, которые будем анализировать
Console.WriteLine("Введите число:");
string Data;
//Получение числа
Data = Console.ReadLine();

//Проверям не нулевое ли значение
if (Data != null)
{
//Счётчик для вхождения символов
int[] count = new int[Data.Length];

//текущее значение, которое будем анализировать
char simbol;

//по всему числу в текстовом виде
for (int i = 0; i < Data.Length;i++ )
{
simbol = Data[i];

//Для вывода значений
bool go = true;

//Если значение встречается количество значений этого символа увеличиваем
foreach (var VARIABLE in Data)
{
if (VARIABLE == simbol)
{
count[i]++;
}
}

//Если в дальнейшем символ встречается, то флаг меняем
for (int j = i+1; j < Data.Length; j++)
{
if (simbol == Data[j])
{
go = false;
}
}

//Если флаг позволяет, то выводим текущий символ
if(go)
Console.WriteLine("Цифра {0} встречается {1} раз", simbol, count[i]);

}
}

//Чтобы не свернулся экран
Console.ReadKey();
}

//Выполнение программы
static void Main(string[] args)
{
Cifra();

//Ввод числа, которые будем вычислять
Console.WriteLine("Введите число:");

string Data;
//Получение числа
Data = Console.ReadLine();

//получение значения

int result = Fuctorial(Convert.ToInt32(Data));

//Вывод значения
Console.WriteLine("Результат факториала {0}", result);

//Чтобы экран не свернулся
Console.ReadKey();
}
}
}
Форма ответа