Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259

Использование делегата, разобрать участок кода

13.12.2013, 20:08. Показов 873. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста разобраться как работает строка 26. Вот мне понятно то что объявляется переменная которой посредством метода явного преобразования присваивается введенное с клавиатуры в консоль число которое находится после точки. В строке 25 все понятно там указывается нулевой индекс началом чтения строки а переменная которая содержит индекс точки концом, но в строке 26 я попытался представить себя компилятором и запутался, так как исходя из формулы которая в ней описана следует что начать чтение нужно с первого индекса после точки, а окончить <--индексом с символом точка, что я и не могу понять. т.е. почему компьютер читает сначала последовательно например -->0,1,2...n - (.) а потом как то задом наперед, и дальше первого символа за точкой ничего не видно а возвращается к точке (.)+1 - (.), но выводит и читает все правильно!!! не понятно как то.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        delegate double ProcessDeligate(double param1, double param2);
        static double Umnogenie(double param1, double param2)
        {
            return param1 * param2;
        }
        static double Delenie(double param1, double param2)
        {
            return param1 / param2;
        }
        static void Main(string[] args)
        {
            ProcessDeligate process;
            Console.WriteLine("Введите два числа разделенных точкой:");2.10
            string input = Console.ReadLine();
            int commaPos = input.IndexOf('.');
            double param1 = Convert.ToDouble(input.Substring(0,commaPos));
            double param2 = Convert.ToDouble(input.Substring(commaPos+1,input.Length - commaPos - 1));
            Console.WriteLine("Введите у чтобы умножить или п чтобы поделить:");
            input = Console.ReadLine();
            if (input == "у")
                process = new ProcessDeligate(Umnogenie);
            else
                process = new ProcessDeligate(Delenie);
            Console.WriteLine("Результат:{0}", process(param1,param2));
            Console.ReadKey();
                
 
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2013, 20:08
Ответы с готовыми решениями:

Разобрать участок кода и результат его работы
Вот сам код на C#: { int a,b; b = 0; for (a = 1; a &lt;= 5; b+=a++) { Console.WriteLine(b); } Console.ReadKey();

Использование делегата Action
Добрый день. Имеется такая задача Написать статический метод, выполняющий указанное действие над элементами матрицы целых чисел. ...

Разобрать небольшой участок кода
Привет всем, есть конструкция следующего типа def speak(message): return message if happy(): speak(&quot;I'm...

4
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
13.12.2013, 20:46
input.Length - commaPos - 1 это же тебуемая длина,
при input="1.234", commaPos=1, Length=5 => 5-1-1=3 что и требовалось , начиная с commaPos+1
1
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259
13.12.2013, 20:56  [ТС]
то есть в методе input.Substring(,) до запятой указывается индекс начальной позиции "читателя" а после запятой требуемая длина символов с начальной позиции а не индекс последнего символа в строке?
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
13.12.2013, 21:00
да, а чего контекстной подсказки нет?
1
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259
13.12.2013, 21:39  [ТС]
Цитата Сообщение от MansMI Посмотреть сообщение
да, а чего контекстной подсказки нет?
у меня в visual studioo 2010 Express все по английски, а я только 700 слов из англ знаю можно было конечно на msdn посмотреть этот метод, но я даже и не подумал что последним числом указывается именно требуемое количество а не индекс. В том видео по которому я смотрел говорят"тут начало и после точки конец строки " а в строке 25 "тут позиция начала и до позиции где точка"... поэтому я так и думал. сейчас временную ссылку на видео дам

Добавлено через 8 минут
Кликните здесь для просмотра всего текста

там где то с 1:07:00 минуты он говорит об этом...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2013, 21:39
Помогаю со студенческими работами здесь

Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему?
Друзья! То есть суть такая, создаю объект и в конструктор передаю имя процесса и хэндл снимка системы. А в конструкторе начинается...

разобрать и пояснить данный участок задачи
cout &lt;&lt; endl &lt;&lt; endl; for(int i = 0; i &lt; 10; i++) // создание массива { if(ourArr &gt;= 10) { ourArr -= 10; } ...

Использование QSqlTableModel внутри делегата
Есть две таблицы для каждой из которых создан QSqlTableModel. Одна из таблиц отображается через QTableView. Для полей QTableView назначены...

Вызов метода(делегата) из неуправляемого кода
Есть способ передать адрес делегата в неуправляемый код как адрес функции, кто нибудь решил эту задачу для использования в своих проектах?...

Разница лямбда выражения, делегата (\анонимного делегата), методом (\анонимных методов)
Всё просто: В чём отличия: лямбд, делегатов, анонимных делегатов, методов, анонимных методов? У меня в проге сучилась такая...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru