0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 6
|
||||||
1 | ||||||
Перегрузка оператора +23.02.2017, 19:10. Показов 708. Ответов 6
Метки нет (Все метки)
начал делать задание в котором описать класс для хранеия массива чисел, перегрузить в классе оператор +, который должен слаживать среднее арифметическое 2 массивов, я сделал но программа только выбирате последние числа в массиве и слаживает их
0
|
23.02.2017, 19:10 | |
Ответы с готовыми решениями:
6
Перегрузка оператора << Перегрузка оператора * Перегрузка оператора == Перегрузка оператора > |
17678 / 12864 / 3365
Регистрация: 17.09.2011
Сообщений: 21,132
|
|
23.02.2017, 19:12 | 2 |
0
|
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 6
|
|
23.02.2017, 19:29 [ТС] | 3 |
Среднее арифметическое находит, типо
0
|
17678 / 12864 / 3365
Регистрация: 17.09.2011
Сообщений: 21,132
|
|
23.02.2017, 19:34 | 4 |
Э?
Последняя строчка просто присваивает переменной а значение текущего элемента массива. Вам надо убрать из цикла вторую и третью строчки, оставив только первую. Потом сразу же после цикла разделите значение переменной "а" на общее количество элементов в массиве, предварительно проверив его на 0. И сделайте а типом double, а то целое среднее арифметическое — штука редкая.
0
|
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 6
|
||||||
23.02.2017, 20:15 [ТС] | 5 | |||||
0
|
17678 / 12864 / 3365
Регистрация: 17.09.2011
Сообщений: 21,132
|
|
23.02.2017, 20:33 | 6 |
Здесь выполняется проверка: делится ли "а" на "i" без остатка.
Вам не нужно находить остаток и проверять на его наличие, вам нужно "а" разделить на количество элементов в массиве. Ну или просто на i, значение которой по окончании цикла будет равно длине массива.
0
|
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 6
|
|
23.02.2017, 21:19 [ТС] | 7 |
у меня еще один вопрос как мне сложить полученное среднее арифметическое?
using System; using System.Collections.Generic; using System.Linq; using System.Text; class mytka { public int[] mass; public static int x; public mytka() { Console.WriteLine("Введиет размер массива"); x = int.Parse(Console.ReadLine()); mass = new int[x]; Random rnd = new Random(); for (int i = 0; i < x; i++) { mass[i] = rnd.Next(25); Console.Write(mass[i] + "\t"); } } public static int operator +(mytka obj1, mytka obj2) { int i; int a = 0; int b = 0; for (i = 0; i < obj1.mass.Length; i++) { a += obj1.mass[i]; } if (a / i != 0) Console.WriteLine("Среднее арифметическое 1-го массива:"); Console.WriteLine((double)a / i); for (i = 0; i < obj2.mass.Length; i++) { b += obj2.mass[i]; } if (b / i != 0) Console.WriteLine("Среднее арифметическое 2-го массива"); Console.WriteLine((double)b / i); return a+b ; } } namespace ConsoleApplication1 { class Program { static void Main(string[] args) { mytka io1 = new mytka(); Console.WriteLine(); mytka io2 = new mytka(); Console.WriteLine(); int x; x = io1 + io2; Console.WriteLine(x); Console.ReadLine(); } } }
0
|
23.02.2017, 21:19 | |
23.02.2017, 21:19 | |
Помогаю со студенческими работами здесь
7
Перегрузка оператора + Перегрузка оператора Перегрузка оператора + Перегрузка оператора % Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |