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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2009, 00:45   #1
OnlySergio
Пользователь
 
Регистрация: 05.10.2009
Сообщений: 12
По умолчанию Проблема с задачей в c#

Код:
   static int Serya(char[] a, int n)
        {
            int Sum=0;
            while(n>0)
            {
                Sum+=int(a[n])-48;
                n--;
            }
            return Sum;
        }
        static void Main()
        {
            char[] a;
            string g;
            Console.Write("Введите число");
            
            g=Console.ReadLine();
         //  a = Convert.FromBase64CharArray(g); 
            int n=g.Length;
            for (int i = 0; i < n; i++) a[i] = g[i];
            Console.Write(Serya(a, n));
            Console.ReadKey();
в чем ошибка здесь, условие задачи в том что вводится какое-то число , мы считаем кол-во цифр в нем и сумму этих цифр
OnlySergio вне форума Ответить с цитированием
Старый 24.11.2009, 14:22   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

C# не знаю. Поэтому насколько законны такие записи
Код:
char[] a
и
Код:
int(a[n])
, кроме этого судя по всему индексация массивов начинается с 0., следовательно
Код:
static int Serya(char[] a, int n)
        {
            int Sum=0;
            n=n-1;
            while(n>=0)
            {
                Sum+=int(a[n])-48;
                n--;
            }
            return Sum;
        }
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 24.11.2009, 17:20   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

как ни странно, но Света была абсолютно права!
(как ни странно, это потому что она, не зная C# тем не менее 100% указала все проблемные места и ошибки.
Респект Вам, Sweta!!!!)


я же абсолютный ноль в C# поэтому и попытался сделать данную задачу.

если не учитывать, что нет проверки входных данных( в строке могут ввести не только число, а любые знаки и символы (и программа всё равно посчитает какую сумму))
то вот рабочий код:
Код:
    static int Serya(char[] a, int n)
        {
            int Sum=0;
            n--;
            while(n>=0)
            {

                Sum+=a[n]-48;
                n--;
            }
            return Sum;
        }
        static void Main()
        {
            char[] a = new char[200];
            string g;
            Console.Write("Введите число");

            g = Console.ReadLine();
            //  a = Convert.FromBase64CharArray(g); 
            int n = g.Length;
            if (n < 200)
            {
                for (int i = 0; i < n; i++) a[i] = g[i];
                Console.Write(Serya(a, n));
            }
            else
            {
                Console.WriteLine("Too long input line");
            }

            Console.ReadKey();
        }

Последний раз редактировалось Serge_Bliznykov; 24.11.2009 в 17:25.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2009, 09:39   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Я немножко знаю С и С++, а т.к. я понимаю ,что C# им родственник ....
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 25.11.2009, 10:47   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Sweta
Я немножко знаю С и С++, а т.к. я понимаю ,что C# им родственник...
точно. прямой наследник!

и тогда это объясняет, каким образов Вы безошибочно локализовали места ошибок!! Мне хуже, я ни С, ни C++ ни разу не знаю...
____________________________

OnlySergio, ну что, тёзка, как успехи? разобрался в своих ошибках? Где ещё доработать не мешало бы, уяснил?...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с задачей :( fadea Помощь студентам 3 27.10.2008 19:21
Проблема с задачей на перебор.. Nixond Паскаль, Turbo Pascal, PascalABC.NET 2 06.10.2008 13:45
Проблема с задачей по С++ TheWanderer Общие вопросы C/C++ 4 02.10.2008 00:21
Проблема с задачей diznt Помощь студентам 2 24.08.2008 00:08