Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Current_vallue
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 9
#1

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

06.03.2013, 10:24. Просмотров 740. Ответов 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#, Методы, Классы, Свойства Задача вывести Значение Атрибутов что...

Скрыть методы и свойства у существующего класса
Проблема заключается в следующем: я наследую класс от Form и создаю экземпляр...

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

6
Winhttp22
151 / 122 / 22
Регистрация: 16.02.2013
Сообщений: 818
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 / 145
Регистрация: 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 / 22
Регистрация: 16.02.2013
Сообщений: 818
06.03.2013, 17:44 #4
kmaffa, дело в том, что у тебя если попадется цифра 10 или 20 - то код обработает их как 4 числа как - 1, 0, 2, 0
0
kmaffa
302 / 300 / 145
Регистрация: 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
8480 / 3807 / 723
Регистрация: 17.04.2012
Сообщений: 8,505
Записей в блоге: 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

Класс Автомобиль. Конструкторы. Методы. Свойства. Операторы
НЕ ПОНЯЛ ЗАДАЧУ((( Классы. Конструкторы. Методы. Свойства. Операторы. ...

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

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


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

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

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