Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2012, 00:04   #1
Elena04
Пользователь
 
Регистрация: 04.04.2012
Сообщений: 20
По умолчанию C# методы

помогите пожалуйста переделать через параметры метода (падпрограммы), а то ни как не получается.
Код:
using System;

namespace ConsoleApplication2

{// Напишите программу, которая находит среднюю цифру в записи натурального 
//числа, если в числе нечетное количество цифр. Вывести результат и комментарий. 

    class Program
    {
        static void Main(string[] args)
        {     
            Console.WriteLine("Введите число с нечетным количеством цифр\n");
            string s = Console.ReadLine(); //возвращает введенные с клавиатуры данные ввиде строки (тип String).
 
            {
                int a = int.Parse(s);  // метод Parse пытается распознать число в строке s и возвращает его.  
                int i = 0;
                int x = a;
                while (x != 0)   //делим нацело число на 10 и по счетчику i узнаем количество цифр в числе
                {
                    x = x / 10;
                    i++;         // i -счетчик количества цифр в числе
                }
                if (i % 2 != 0) // проверка числа на нечетность
                {
                    double b; // использовал тип double для работы с Pow (возведение в степень)
                    b = i / 2 + 1; // b - позиция(разряд) средней цифры в числе
                    a = (int)(a / Math.Pow(10, b - 1)); //целочисленное деление на 10 в степени b-1    (int)12345/(10^(3-1))=123 перевод в int нужен для целочисленного деления, если без int, то  12345/(10^(3-1))=123,45
                    a = (int)(a % 10);  // остаток от деления на 10 и есть искомая цифрв 123 % 10 = 3
                    Console.WriteLine("\nСредняя цифра : " + a);
                    Console.WriteLine("Нажмите Enter для выхода из программы");
                    Console.Read();
                }
                else 
                {
                    Console.WriteLine("\nВы ввели фисло с ЧЕТНЫМ количеством цифр!!!");
                    Console.WriteLine("Нажмите Enter для выхода из программы");
                    Console.Read(); //Ожидание 
                }
            }
           
        }
    }
}

Последний раз редактировалось Stilet; 23.11.2012 в 00:54.
Elena04 вне форума Ответить с цитированием
Старый 23.11.2012, 10:14   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
 static void Main(string[] args)
        {

            Console.WriteLine("Введите число с нечетным количеством цифр\n");
            string s = Console.ReadLine(); //возвращает введенные с клавиатуры данные ввиде строки (тип String).
            try
            {
                int a = int.Parse(s);
                if (a % 2 != 0)
                {
                    Console.WriteLine("{0}", AverageNumber(12345));
                }
                else
                {
                    Console.WriteLine("\nВы ввели число с ЧЕТНЫМ количеством цифр!!!");
                    Console.WriteLine("Нажмите Enter для выхода из программы");
                }
            }
            catch
            {
                Console.WriteLine("Error format");
            }
            Console.ReadLine();
        }

        static int AverageNumber(int a) //сам метод
        {
             int i = 0;
             int x = a;
             while (x != 0)   //делим нацело число на 10 и по счетчику i узнаем количество цифр в числе
             {
                 x = x / 10;
                 i++;         // i -счетчик количества цифр в числе
             }
             double b; // использовал тип double для работы с Pow (возведение в степень)
             b = i / 2 + 1; // b - позиция(разряд) средней цифры в числе
             a = (int)(a / Math.Pow(10, b - 1)); //целочисленное деление на 10 в степени b-1    (int)12345/(10^(3-1))=123 перевод в int нужен для целочисленного деления, если без int, то  12345/(10^(3-1))=123,45
             a = (int)(a % 10);
                
             return a;
        }
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Методы класса vlados007 Общие вопросы C/C++ 2 28.02.2012 21:19
[C++] Методы xNеo Помощь студентам 9 04.01.2012 16:36
статические методы Go6a PHP 1 12.10.2011 21:30
C# методы Extez1 Помощь студентам 4 15.03.2011 12:53
Методы... Arkuz Свободное общение 6 11.10.2008 16:53