Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
8 / 5 / 3
Регистрация: 19.09.2019
Сообщений: 89
1

Описать индексатор так, чтобы при индексировании объекта первый индекс отличался от нуля

30.10.2019, 03:57. Показов 1345. Ответов 7

Author24 — интернет-сервис помощи студентам
Необходимо описать индексатор так, чтобы при индексировании объекта первый индекс отличался от нуля. Числовые значения, определяющие диапазон изменения индекса (и, соответственно целочисленного массива) при индексировании объекта, передаются аргументами конструктору класса.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2019, 03:57
Ответы с готовыми решениями:

Я хочу вывести 2 массива при чем чтобы один отличался от другого на +1. Почему не получается?
В ЧЕМ У МЕНЯ ОШИБКА? #include <stdlib.h> #include <iostream.h> #include <iomanip.h> #include...

В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс 4, третий индекс 5
В строке первый символ получает индекс 1, последний индекс 2, второй индекс 3, предпоследний индекс...

Как сделать так чтобы картинка в Image не мерцала при увеличении объекта?
Может кто нить подсказать как сделать так чтобы картинка в Image не мерцала при увеличении объекта?...

Описать процедуру так, чтобы при активации RadioButton определялось в какую систему счисления переводить
Помогите описать процедуру так, чтобы при активации RadioButton определялось в какую систему...

7
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
30.10.2019, 13:25 2
Шрайн, Массив с произвольными границами индекса
1
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
30.10.2019, 14:52 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
 
namespace Test
{
    class Program
    {
        static void Main()
        {
            IndexArray arr = new IndexArray(-5, 12);
            Console.WriteLine($"Размер массива arr = {arr.Length}");
 
            int number;
            //number = arr[-6]; // ошибка
            number = arr[-5];
            number = arr[0];
            number = arr[12];
            //number = arr[13]; // ошибка
 
            Console.ReadKey();
        }
    }
 
    class IndexArray
    {
        int[] arr;
        readonly int minIndex;
        readonly int maxIndex;
        public readonly int Length;
 
        public IndexArray(int minIndex, int maxIndex)
        {
            // Ошибку реализуйте как хотите
            if (minIndex > maxIndex)
                return;
            this.minIndex = minIndex;
            this.maxIndex = maxIndex;
            Length = GetLengthArray();
            arr = new int[Length];
            FillArray();
        }
 
        int GetLengthArray()
        {
            if (minIndex < 0 && maxIndex <= 0)
                return Math.Abs(minIndex - maxIndex) + 1;
            if (minIndex <= 0 && maxIndex >= 0)
                return Math.Abs(minIndex) + maxIndex + 1;
            if (minIndex >= 0 && maxIndex > 0)
                return maxIndex - minIndex + 1;
            return -1;
        }
 
        void FillArray()
        {
            Random random = new Random();
            for (int i = 0; i < Length; i++)
                arr[i] = random.Next();
        }
 
        public int this[int index]
        {
            get
            {
                return arr[index - minIndex];
            }
            set
            {
                arr[index - minIndex] = value;
            }
        }
    }
}
1
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
30.10.2019, 15:26 4
Enifan, в теме что я скинул уже есть точно такой же класс.
1
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
30.10.2019, 15:44 5
jester, согласен, однако
1) При указании 2-ух отрицательных чисел диапазона (-5, -2) он создаст массив неверной длины
2) При указании других значений не учитывается прибавка +1 к длине массива
3) Не знаю в какой последовательности изучает темы инициатор данной темы, возможно с IEnumerator он еще не знаком. Дабы сделать код более понятным - проще убрать из кода все лишнее. А то еще подумает что IEnumerator это обязательно прописывать, и будет задавать другие вопросы.
4) Нравится самому код писать
1
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
30.10.2019, 16:30 6
Enifan,
1) -2 - (-5) = 3 (должно быть четыре)
2) +1 = 4 согласен
3) Шрайн, знакомься это IEnumerator. Не обижай его.
4) можно взять тот код. Он нормальный с правкой на +1 к длине.
2
1843 / 1185 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
30.10.2019, 16:40 7
jester, будем считать вы меня убедили) Со своем методом GetLengthArray() что то я перегнул. На банальной арифметике ступил.
0
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
30.10.2019, 16:44 8
Enifan,
0
30.10.2019, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2019, 16:44
Помогаю со студенческими работами здесь

Как сделать так, чтобы при масштабировании объекта, объект расширялся только по одному вектору
Всем привет, я новичок в Unity3D. Столкнулся с проблемой при создании лазера. Цилиндр, который я...

как сделать так,чтобы все линии идеально совпадали при наложении одного объекта на другой?!
как сделать так,чтобы все линии идеально совпадали при наложении одного объекта на другой?! всегда...

Вывестм данные с текстового файла в виде массива, но чтобы первый индекс начинался не с 0 а с 1
Зачем я это делаю? Да просто изучаю PHP и мне по заданию это надо было сделать. Код полностью...

Как сделать так чтобы в файл можно было записать все числа кроме нуля?
Как сделать так чтобы в файл можно было записать все числа кроме нуля ? Добавлено через 1 минуту...

Сервер зависает при индексировании
Уважаемые коллеги! Имеется сервер 7.0.1, Win - не первый и не почтовый, и без sametimeа. Баз на...

Avidemux 2.5.6 Ошибка при индексировании
Avidemux 2.5.6 Открываю VTS_01_1.VOB Хотите индексировать? Хотите объединить их? can't open...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru