Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Current_vallue
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 9
#1

Cтандартные свойства и методы работы со строками - C#

06.03.2013, 10:24. Просмотров 731. Ответов 6
Метки нет (Все метки)

Подсчитать сумму и количество всех цифр, входящих в некоторое предложение, вводимое с клавиатуры.

просьба 1 Цель работы
Изучить принципы разработки программ с использованием строк. Изучить стандартные свойства и методы работы со строками типа string.

 Комментарий модератора 
Перенесено из раздела http://www.cyberforum.ru/pascal
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 10:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Cтандартные свойства и методы работы со строками (C#):

Классы. Свойства. Методы. - C#
Здравствуйте! Помогите пожалуйста. Есть лабораторная работа и я не все понимаю. Значит есть класс Paper в котором 3 открытых ...

Работа со строками - индексирование и свойства - C#
Написал примерный код в программе по данному заданию по "индекстаторам и свойствам" и непонятно как реализовать некоторые моменты в...

Скрыть методы и свойства у существующего класса - C#
Проблема заключается в следующем: я наследую класс от Form и создаю экземпляр этого класса. Как скрыть такие методы как Show() и Close() у...

Объявить класс, содержащий поля, методы и свойства - C#
Объявить класс, содержащий два поля целого типа, свойства только для чтения этих полей, а также конструктор по умолчанию и конструктор с...

Для чего нужны свойства, если есть методы - C#
Вот, сопсна, тоже изучаю сей язык. Книжечку полистываю. Вопрос - мне не совсем понятно, какой цели служат свойства в C#. Насколько я...

Как скрывать в редакторе ненужные свойства и методы при наследовании? - C#
Согласно MSDN есть базовый класс Control, Label является его наследником. Однако в Label скрыта часть свойств, событий и методов базового...

6
Winhttp22
151 / 122 / 11
Регистрация: 16.02.2013
Сообщений: 814
06.03.2013, 11:47 #2
с регулярками пойдет?
C#
1
2
3
4
5
6
7
8
9
10
11
      static void Main(string[] args) { 
        int i=0;
        Console.WriteLine("Введите предложение:");
        string s=Console.ReadLine();
        MatchCollection mtc=Regex.Matches(s,@"\d+");
        Console.WriteLine("В строке кол-во цифр - {0}",mtc.Count);
        foreach (Match element in mtc) 
            i+=Convert.ToInt32(element.Value);
        Console.WriteLine("Сумма всех цифр - {0}",i);
        Console.ReadKey();
    }
0
kmaffa
302 / 300 / 54
Регистрация: 29.10.2012
Сообщений: 819
06.03.2013, 11:56 #3
Можно без регулярных выражений:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
        static void Main(string[] args)
        {
 
             //Выводим на экран просьбу ввести предложение
            Console.WriteLine("Введите предложение для обработки:");
 
            //Записываем предложение в переменную s
            string s = Console.ReadLine();
 
            int summ = 0, kol = 0;
 
            //Циклом просматриваем всю строку посимвольно
            for (int i = 0; i < s.Length; i++)
            {
                //Извлекаем символ, один за одним. Substring(i, 1)  - берет из i-той позиции переменной s, строку длинной один символ
                string s1 = s.Substring(i, 1);
 
                //Конвертируем символ из типа string в символ типа char
                char ch = Convert.ToChar(s1);   
 
                //Проверяем если чимвол - цифра, то прибавляем ее, если нет, то игнорирет
                if (Char.IsDigit(ch))
                {
                    //Прибавляем цифру к общей сумме
                    summ += Convert.ToInt32(ch);
                    //Увеличиваем счетчик цифр на 1
                    kol++;
 
                    //Выводми на экран символ и онисание, что это цифра
                    Console.WriteLine("{0} - это цифра", ch);
                }
                else
                {
                    //Если не цифра то вывоим это сообщение
                    Console.WriteLine("{0} - это не цифра", ch);
                }
            }
 
            Console.WriteLine("Сумма всех цифр равна: {0}", summ);
            Console.WriteLine("Количество цифр: {0}", kol);
 
            Console.ReadKey();
        }
1
Winhttp22
151 / 122 / 11
Регистрация: 16.02.2013
Сообщений: 814
06.03.2013, 17:44 #4
kmaffa, дело в том, что у тебя если попадется цифра 10 или 20 - то код обработает их как 4 числа как - 1, 0, 2, 0
0
kmaffa
302 / 300 / 54
Регистрация: 29.10.2012
Сообщений: 819
06.03.2013, 17:55 #5
Цитата Сообщение от Winhttp22 Посмотреть сообщение
kmaffa, дело в том, что у тебя если попадется цифра 10 или 20 - то код обработает их как 4 числа как - 1, 0, 2, 0
Не по теме:
Wikipedia:
Ци́фры (от ср.-лат. cifra от араб. صفر‎‎ (ṣifr) «пустой, нуль») — система знаков («буквы») для записи чисел («слов») (числовые знаки). Слово «цифра» без уточнения обычно означает один из следующих десяти («алфавит») знаков: 0 1 2 3 4 5 6 7 8 9 (т. н. «арабские цифры»). Сочетания этих цифр порождают дву-(и более)значные коды и числа.
Источник
20 и 10 это числа. 2, 0, 1, 0 - цифры.
0
Winhttp22
06.03.2013, 18:01
  #6

Не по теме:

kmaffa, ок я в терминологии не силен. поэтому для меня - числа=цифры

0
tezaurismosis
Администратор
Эксперт .NET
8245 / 3737 / 506
Регистрация: 17.04.2012
Сообщений: 8,423
Записей в блоге: 14
06.03.2013, 20:28 #7
1) Я бы вместо
C#
1
2
string s1 = s.Substring(i, 1);
char ch = Convert.ToChar(s1);
использовал
C#
1
char ch = s1[i];
2)
C#
1
summ += Convert.ToInt32(ch);
Прибавит к переменной summ не число, обозначаемое символом, а его "номер в кодировке"

Вот мой вариант:
C#
1
2
3
4
5
6
string input = Console.ReadLine();
int sum = 0;
foreach (char symbol in input) {
    if (Char.IsDigit(symbol))
        sum += (int)Char.GetNumericValue(symbol);
}
1
06.03.2013, 20:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 20:28
Привет! Вот еще темы с ответами:

Что такое свойства, индексаторы, виртуальные методы и абстрактные классы? - C#
Уважаемые,объясните-ка ,пожалуйста,что такое свойства,индексаторы,виртуальные методы и абстрактные классы &quot;НА ПАЛЬЦАХ&quot;. Учебник у меня есть...

Создать класс Money, разработав поля, конструктор, методы, свойства - C#
Добрый день! Помогите, пожалуйста, в решении лабы ) Язык - C#. Очень-очень нужно..и побыстрее) Вот задание: Создать класс Money,...

Оптимизация работы со строками - C#
Снова здравствуйте! В этот раз хотелось бы выслушать предложения по оптимизации алгоритма для определения похожести строк. Данный метод в...

Обращение к элементам класса (поставив точку, показать свойства и методы класса) - C#
Есть класс Audio, у него есть две основных задачи воспроизводить и записывать звук (Recorder/Player). Хотелось бы, что бы все методы и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru