2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45

Описать класс для хранения массива чисел

20.02.2017, 21:38. Показов 2532. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать класс для хранения массива чисел. Перегрузить в классе оператор ++, который должен увеличивать каждый положительный элемент массива на 2, каждый отрицательный элемент массива заменить средним арифметическим максимального и минимального элементов.
Ребят выручайте горит лаба, мыслей по реализации нету,заранее благодарю
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2017, 21:38
Ответы с готовыми решениями:

Описать класс для хранения массива чисел
Описать класс для хранения массива чисел. Перегрузить в классе оператор *, который должен находить произведение четных элементов двух...

Описать класс для хранения массива чисел. Перегрузить оператор %
Описать класс для хранения массива чисел. Перегрузить в классе оператор %, который должен находить остаток от деления элементов первого...

Описать класс для хранения массива чисел. Перегрузить в классе оператор *
Привет. Описать класс для хранения массива чисел. Перегрузить в классе оператор *, который должен находить произведение четных элементов...

8
 Аватар для Harttman
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
20.02.2017, 22:17
Создаете класс, конструктор которого принимает параметр типа int[].
Пример перегрузки операторов есть на MSDN и на страницах этого форума. Надеюсь помог с мыслями по реализации) Поделитесь пожалуйста наработками.
0
Заблокирован
20.02.2017, 22:37
Перегрузка ++?)) Зачем?) ++ Инкримент?))

Добавлено через 1 минуту
с++ и ++c по разному работают))
0
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
21.02.2017, 21:30  [ТС]
Harttman,
Америку открыл
Ну и за это благодарю
завтра скину наработки

Добавлено через 21 час 58 минут
вот реализовал
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
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class MyMas
    {
        double sr;
        double[] Array;
        public MyMas()
        {
            Array = new double[5];
        }
 
        public void rand()
        {
            Random random = new Random();
            for (int i = 0; i < 5; i++)
            {
                Array[i] = random.Next(-3, 3);
            }
        }
        public void print()
        {   double min = 0;
            double max = 0;
            Console.WriteLine("массив");
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(Array[i]);
            }
            for (int i = 0; i < 5; i++)
                if (min > Array[i])
                {
                    min = Array[i];
                }
          for (int i = 0; i < 5; i++)
              if (max < Array[i])
                {
                   max=Array[i];
                }
        sr = (max + min)/2;
 
 
        }
        public static MyMas operator ++(MyMas a)
        {
            for (int i = 0; i < 5; i++)
                if (a.Array[i] > 0)
                {
                    a.Array[i] = a.Array[i] + 2;
                }
            for (int i = 0; i < 5; i++)
                if (a.Array[i] < 0)
                {
                    a.Array[i] = a.sr;
                }
            return a;
 
    }
 
 
    class Program
    {
        static void Main(string[] args)
        {
            MyMas a = new MyMas();
            a.rand();
            a.print();
            a++;
            a.print();
            Console.ReadKey();
        }
            }
        }
    }
0
 Аватар для Harttman
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
22.02.2017, 00:07
Jonyc33, У меня получилось немного по-другому:
Класс
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
class MasStorage
    {
        double[] _Mas;
        
        
        public MasStorage(double[] x)
        {
            if (x.Sum() == 0)
            {
                Random rnd = new Random();
                for (int i = 0; i < x.Length; i++)
                {
                    x[i] = rnd.Next(-3, 3);
                }
                _Mas = x;
            }
            else _Mas = x;
        }
 
        public MasStorage(double[] x, int min, int max)
        {
            if (x.Sum() != 0)
            {
                _Mas = x;
            }
            else
            {
                Random rnd = new Random();
                for (int i = 0; i < x.Length; i++)
                {
                    x[i] = rnd.Next(min, max);
                }
                _Mas = x;
            }
        }
 
        public override string ToString()
        {
            string massiv = "";
            foreach (double i in _Mas)
            {
                massiv += i + ", ";
            }
            return massiv;
        }
 
        public static MasStorage operator ++(MasStorage Mas)
        {
            double Average = (Mas._Mas.Min() + Mas._Mas.Max()) / 2;
            for (int i = 0; i < Mas._Mas.Length; i++)
            {
                if (Mas._Mas[i] < 0) Mas._Mas[i] = Average;
                else Mas._Mas[i] = Mas._Mas[i] + 2;
            }
            return Mas;
        }
 
 
        public double[] GetArray()
        {
            return (double[])_Mas.Clone();
        }
    }


И собственно метод Main():
Main()
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
static void Main(string[] args)
        {
            double[] i = new double[6];
            double[] y = { 3, 4, 17, -5, -8 };
            double[] z = new double[20];
            MasStorage i1 = new MasStorage(i);
            MasStorage y1 = new MasStorage(y);
            MasStorage z1 = new MasStorage(z, -100, 100);
 
            Console.WriteLine("Массив без значений:");
            Console.WriteLine(i1.ToString() + "\n");
            Console.WriteLine("Массив без значений после ++ :");
            i1++;
            Console.WriteLine(i1.ToString() +"\n");
 
            Console.WriteLine("Массив со значениями:");
            Console.WriteLine(y1.ToString() + "\n");
            Console.WriteLine("Массив со значениями после ++");
            y1++;
            Console.WriteLine(y1.ToString() + "\n");
 
            Console.WriteLine("Массив без значений заполненный от -100 до 100:");
            Console.WriteLine(z1.ToString() + "\n");
            Console.WriteLine("Массив без значений заполненный от -100 до 100 после ++:");
            z1++;
            Console.WriteLine(z1.ToString() + "\n");
 
             Console.Read();
        }


Добавлено через 6 минут
Цитата Сообщение от Harttman Посмотреть сообщение
if (x.Sum() == 0)
На самом деле, сомнительная проверка заполнен массив значениями или нет. Как проверить правильно, попытаюсь выяснить. Ну или подскажет может кто.
1
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
22.02.2017, 19:01  [ТС]
Harttman,
может на длину проверить? не больше ли 0? т.е.
C#
1
if (x.Length == 0)
ну тут уже кому как нравиться
твой вариант кода более красивее выводит,это не вопрос)
просто для сдачи лабы и моего кода хватает)
0
 Аватар для Harttman
69 / 69 / 28
Регистрация: 12.09.2013
Сообщений: 237
22.02.2017, 19:19
Jonyc33,
Цитата Сообщение от Jonyc33 Посмотреть сообщение
может на длину проверить? не больше ли 0? т.е
Нет, не подойдет т.к. например массив
C#
1
2
double[] i = new double[6];
i.Length = 6;
1
2 / 2 / 4
Регистрация: 19.10.2016
Сообщений: 45
23.02.2017, 23:27  [ТС]
Harttman, Впрочем,как-то я немного подумав, не нашёл оптимального решения этой проверки)если всё таки понадобиться то думаю что-либо в голову да стукнет)
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
24.02.2017, 06:50
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
using System;
using System.Linq;
using System.Collections.Generic;
 
class MyArray
{
    private int[] array;
    private int avgMinMax;
    private bool avgMinMaxIsObsolete;
 
    public MyArray(IEnumerable<int> en)
    {
        array = en.ToArray();
        avgMinMaxIsObsolete = true;
    }
 
    private int AvgMinMax
    {
        get
        {
            if (avgMinMaxIsObsolete)
            {
                avgMinMax = (array.Min() + array.Max()) / 2;
                avgMinMaxIsObsolete = false;
            }
            return avgMinMax;
        }
    }
 
    public static MyArray operator++(MyArray myArray)
    {
        for (int i = 0; i < myArray.array.Length; i++)
        {
            int elem = myArray.array[i];
            elem = elem < 0 ? myArray.AvgMinMax : elem + 2;
            myArray.array[i] = elem;
        }
        myArray.avgMinMaxIsObsolete = true;
        return myArray;
    }
 
    public override string ToString()
    {
        return String.Join(", ", array);
    }
}
 
class Program
{
    public static void Main()
    {
        MyArray myArray = new MyArray(Enumerable.Repeat(new Random(), 20).Select(r => r.Next(-100, 101)));
        Console.WriteLine(myArray);
        myArray++;
        Console.WriteLine(myArray);
        myArray++;
        Console.WriteLine(myArray);
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2017, 06:50
Помогаю со студенческими работами здесь

Описать класс для хранения информации о заказах
Описать класс для хранения следующей информации: номер заказа, дата заказа, стоимость, код исполнителя, дата выполнения. Все...

Для хранения данных о ноутбуках описать класс Notebook
Для хранения данных о ноутбуках описать класс Notebook, который содержит структуру struct DispRes // расширение экрана { int x,y; } ...

Описать класс "автостоянка" для хранения сведений об автомобилях
Помогите пожалйуста с реализацией задачи! Описать класс «автостоянка» для хранения сведений об автомобилях. Для каждого автомобиля...

Описать класс «англо-русский словарь», обеспечивающий возможность хранения нескольких вариантов перевода
Описать класс «англо-русский словарь», обеспечивающий возможность хранения нескольких вариантов перевода для каждого слова. Реализовать...

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


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

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

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru