Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 19:00   #1
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию Операции и перегруженные методы класса.

Разработать программу, выполняющую следующие действия:

 Ввод и вывод трех массивов A, В и С;
 Вычисление общей суммы отрицательных элементов в массивах 5*A и С;
 Вычисление общей суммы отрицательных элементов в массивах 2*В, -А и С*4;
Создать: статический метод с переменным числом параметров для вычисления общей суммы отрицательных элементов в нескольких массивах,

Код:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LabWork4
{
    class Program
    {

        class Massiv
        {
            double[] a;
            //конструктор с параметрами
            public Massiv(int n)
            {
                a = new double[n];

            }
           //Свойство для доступа к массиву
            public double[] a1
            {
                get { return a; }
                set { a = value; }
            }
            //Свойство Длинна Массива

            public int dlinna
            { get { return a.Length; } }

           


            //Метод для вывода массива
            public void vyvod(string zagolovok)
            {
                Console.WriteLine(zagolovok);
                foreach (double x in a)
                    Console.WriteLine(x);
            }
            //Метод для ввода массива
            public void vvod(string name)
            {

                Console.WriteLine("Введите элементы массива " + name);
                for (int i = 0; i < a.Length; i++)
                {
                    a[i] = Convert.ToDouble(Console.ReadLine());
                }


            }
            //Оператор для умножения массива на число
            public static  Massiv operator *(Massiv C,double a2)
            {   
                              
               
                Massiv rez1 = new Massiv(C.a1.Length);
                for (int i = 0; i < C.a1.Length; i++)
                    
                    rez1[i] = C.a1[i] * a2;
                return rez1;
            }
            //Оператор для умножения числа на массив
            public static Massiv operator *( double a2, Massiv A)
            {


                Massiv rez1 = new Massiv(A.a1.Length);
                for (int i = 0; i < A.a1.Length; i++)
                    
                        rez1[i] = A.a1[i] * a2;
                return rez1;
            }
            public static Massiv operator +(double a2, Massiv B)
            {


                Massiv rez1 = new Massiv(B.a1.Length);
                for (int i = 0; i < B.a1.Length; i++)
                   
                        rez1[i] = B.a1[i] * a2;
                return rez1;
            }
            public static Massiv operator -( Massiv A)
            {
                Massiv rez1 = new Massiv(A.a1.Length);
                for (int i = 0; i < A.a1.Length; i++)

                    rez1[i] =-A.a1[i];
                return rez1;
            }

            //Индексатор
            public double this[int i]
            {
                get { return a[i]; }
                set { a[i] = value; }
            }
            //Метод с переменным количеством параметров
            public static double Summa ( params double[] y)
            {
                double s = 0; int i;
                foreach(double yy in y)
                    if (yy < 0)
                        s = s + yy;
               
                
                return s;
        }

        }
        static void Main(string[] args)
        {           int i =0;
            Console.WriteLine("Введите размер массива A");
            Massiv A = new Massiv(Convert.ToInt32(Console.ReadLine()));
            A.vvod("A");
            Console.WriteLine("Введите размер массива B");
            Massiv B = new Massiv(Convert.ToInt32(Console.ReadLine()));
            B.vvod("B");
            Console.WriteLine("Введите размер массива C");
            Massiv C = new Massiv(Convert.ToInt32(Console.ReadLine()));
            C.vvod("C");
            A.vyvod("\nМассив А:");
            B.vyvod("\nМассив B:");
            C.vyvod("\nМассив C:");
            //Нахождение суммы
            Massiv D = 5*A;
            D.vyvod("\nНовый массив:5*A");
            Massiv E = C * 4;
            E.vyvod("\nНовый массив:C*4");
            Massiv F = 2 + B;
            F.vyvod("\nНовый массив:2*B");
            Massiv G = -A;
            G.vyvod("\nНовый массив:-A");
            Console.WriteLine("D+A="+Summa(D.a1[i]+C.a1[i]));
            Console.WriteLine("Для выхода из программы нажмите любую клавишу");
            Console.ReadKey();
        }

    }
}
Вопрос: почему мне пишет:
(* Console.WriteLine("D+A="+Summa(D.a1[i]+C.a1[i]));*)
Элемент Summa не существует в текущем контексте?
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 01.12.2010, 19:09   #2
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

месягу удалить
До последней точки с запятой в коде...

Последний раз редактировалось Necare; 01.12.2010 в 20:46.
Necare вне форума Ответить с цитированием
Старый 01.12.2010, 19:21   #3
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Но сумму - всё-равно не считает. Нид хэлп.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать методы класса из dll alexprey Общие вопросы Delphi 3 11.11.2010 16:11
Перегруженные операции в С++ Александра1000000 Помощь студентам 10 11.08.2010 20:38
Методы класса Date. Sakura_Vamp Помощь студентам 1 30.05.2010 18:41
C++, методы строкового класса Akord Помощь студентам 0 07.12.2009 17:16
Классы и методы класса Exploit Помощь студентам 9 17.12.2006 18:21