Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928

Класс для работы с одномерным массивом

14.10.2017, 19:55. Показов 1646. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я создал класс одномерный массив и при создании массива мне бьет ошибку на индексатор. Но если выбрать размерность массива больше 4 то все нормально работает. В чем проблема?
C#
1
2
3
4
  set
            {
                a[index] = value;
            }
вот сам класс
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
 class massiv
    {
        int[] a;
        int n;
 
        public massiv(int n)
        {
            this.n = n;
            a = new int[this.n];
        }
 
        public int this[int index]
        {
            get
            {
                return a[index];
            }
            set
            {
                a[index] = value;
            }
        }
        public string create()
        {
            string s = ""; int sr = 0;
            for (int i = 0; i < n; i++)
            {
                Random r = new Random();
                a[i] = r.Next(0, 30);
                s += a[i] + " ";
                
 
            }
            return s;
        }
 
       
 
 
    }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2017, 19:55
Ответы с готовыми решениями:

Описать класс для работы с одномерным массивом целых чисел
Описать класс для работы с одномерным массивом целых чисел(вектором). Класс должен реализовывать возможность: выполнение операции...

Создать класс для работы с двумерным массивом целых чисел
6. Создать класс для работы с двумерным массивом целых чисел. Разработать следующие элементы класса: a. Поля: • int IntArray; • int...

Создать класс для работы с двумерным массивом вещественных чисел
Помогите пожалуйста люди добрые!!(С#,WindowsForm) Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие...

10
 Аватар для netBool
325 / 304 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
15.10.2017, 11:15
Цитата Сообщение от 6elka1703 Посмотреть сообщение
Здравствуйте, я создал класс одномерный массив и при создании массива мне бьет ошибку на индексатор. Но если выбрать размерность массива больше 4 то все нормально работает. В чем проблема?
Все должно работать. Главное, чтобы индекс элемента не превышал размер массива

Так разве бьет?:
C#
1
2
massiv m = new massiv(1);
m[0]=5;
Я даже специально на своей студии проверил. Никаких ошибок
0
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
15.10.2017, 11:39  [ТС]
netBool, с этим я понял в чем проблема была, но можно еще вопрос почему у меня массив заполняется только одним числом?
Миниатюры
Класс для работы с одномерным массивом  
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
15.10.2017, 12:00
Попробуйте строку
C#
1
Random r = new Random();
Вынести за пределы цикла
0
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
15.10.2017, 12:05  [ТС]
Toros1992, слушай еще я на самой кнопке ищу среднее арифметическое элементов массива, а потом заменяю 5 элемент среднеарифметическим. Но вот прога выдает какой-то бред, можешь правильно ли я сделал?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   massiv a = new massiv(n);
            listBox1.Items.Add("Начальный массив" + "\n");
            listBox1.Items.Add(a.create() + "\n");
 
            for (int i = 0; i < n; i++)
            {
                sr = (sr + a[i]) / n;
                a[4] = sr;
                s1 += a[i] + " ";
            }
 
            listBox1.Items.Add("Измененный массив" + "\n");
            listBox1.Items.Add(s1 + "\n");
        }
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
15.10.2017, 12:20
Пройдись внимательно отладчиком и ты заметишь, что слишком много засунул в цикл.
А ещё, я бы тебе советовал в твоем классе переопределить метод ToString(), и тогда отпадет необходимость каждый раз создавать строку для отображения
0
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
15.10.2017, 12:34  [ТС]
как я понял эта строка в цикле лишняя
C#
1
  a[4] = sr;
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
15.10.2017, 12:39
Лучший ответ Сообщение было отмечено 6elka1703 как решение

Решение

Нет, дело в том, что среднее рассчитываешь неправильно. Надо сначала сложить все элементы массива, а потом поделить на их количество. А у тебя же происходят странные вещи. Ты зачем-то делишь первое число на длину массива, потом к нему прибавляешь второе и снова делишь, и т.д.
1
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
15.10.2017, 12:52  [ТС]
блин я просто думал что в цикле сначала выполниться все что в скобках т.е. сначала сложит все элементы, а потом поделит на их количество. все спасибо большое

Добавлено через 6 минут
Toros1992, а как передопределить метод ToString()?
0
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
15.10.2017, 12:57
Во как
0
 Аватар для 6elka1703
91 / 85 / 27
Регистрация: 29.10.2016
Сообщений: 928
15.10.2017, 13:00  [ТС]
я уже понял, прочитал эту же статью)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2017, 13:00
Помогаю со студенческими работами здесь

Класс для работы с одномерным массивом
Описать класс для работы с одномерным массивом строк фиксированной длины. Обеспечить следующие возможности: • задание произвольных...

Создать класс для работы с двумерным массивом вещественных чисел
Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие элементы класса: Поля: doubel...

Заполнение текстбокса одномерным массивом
Доброго утричка ) Подскажите, кто знает, как реализовать заполнение текстбокса одномерным массивом для последующей передачи его в код ...

операции над одномерным массивом
Есть такое задание: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) максимальный по модулю элемент массива; ...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru