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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 21:36   #1
Otar4ik
Форумчанин
 
Регистрация: 16.04.2010
Сообщений: 123
По умолчанию Массивы Массивов в C#

Еще раз здравствуйте)
Задача:
1. В классе Arrs напишите функцию PrintArr3 для вывода двумерного массива массивов;
Методические указания: Поскольку в данном случае используется не «матрица», а массив массивов, то логично вместо функции GetLength() использовать свойство Length для соответствующего массива.
2. В классе Arrs напишите функцию CreateAr3 заполнения двумерного массива произвольными числами (по аналогии с одномерным массивом);
3. Опишите массив R размерностью 10 массивов, каждый из которых на 1 больше предыдущего; (R[0] – содержит массив из одного элемента, а R[5] – массив из шести элементов)
4. Инициализируйте массив R случайными значениями;
5. Выведите его содержимое на консоль;

Код:
namespace JaggerArr
{
    class Program
    {
        class Arrs
        {
            private static Random rnd = new Random();
        }
            public static void CreateOneDimAr(int[] R)
            {
                for (int i = 0; i < R.GetLength(0); i++)
                    R[i] = rnd.Next(1, 100);
            }
            public void PrintAr3(string[] R)
            {
                for (int i = 0; i < Get.Length; i++)
                {
                    Console.WriteLine(R[i]);
                    for (int j = 0; j < R[i].Length; j++)
                        Console.Write(R[i][j] + " ");
                    Console.WriteLine();
                }
            }
            static void Main(string[] args)
            {
                int Fcount = 3;
                string[] R = new string[Fcount];
                R[0] = [1]; 
                R[1] = [5];
                R[2] = [10];
                string[][] R = new string[Fcount][];
                R[0] = new string[0] ;
                R[1] = new string[5] ;
                R[2] = new string[10] ;
                Arrs.PrintAr3(R);
            }
        }
    }
}
Вывело кучу ошибок:
-В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента и создания нового объекта
-Неявное преобразование типа "string[]" в "string" невозможно + куча ошибок которые появились впоследствии других ошибок.
Otar4ik вне форума Ответить с цитированием
Старый 29.03.2011, 14:59   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

вот эта строчка очень понравилась
Код:
 R[0] = new string[0] ;
Держи рабочий код.
Код:
    class Program
    {
        static void Main(string[] args)
        {
            Arrs Tmp = new Arrs(7);//Создание нового объекта класса (тут задано что будет 7 массивов)
            Tmp.Print();//вывод в консоль
            Console.ReadLine();//Спим
        }
    }

    class Arrs //Объявляем класс
    {
        int[][,] Kub;//Объявляем переменную содержащую масив массивов
        public Arrs(int Razmer)//Конструктор для создания массива
        {
            //int Razmer = 5; // определяет размер массива
            Kub = new int[Razmer][,];//Инициализируем Главный массив
            for (int i = 0; i < Razmer; i++)//заполняем подмассивы
            {
                Kub[i] = new int[i + 1, i + 1];//Инициализируем подмассив
                CreteMatrix(Kub[i]);// заплолняем подмассив
            }
        }
        void CreteMatrix(int[,] Matrix)//Функция заполняет матрицу случайными значениями
        {
            Random R = new Random();
            for (int i = 0; i < Matrix.GetLength(0); i++)
                for (int j = 0; j < Matrix.GetLength(1); j++)
                    Matrix[i, j] = Convert.ToInt32(R.Next(100));
        }
        public void Print()//Функция выводит значения в консоль
        {
            for (int i = 0; i < Kub.Length; i++)
            {
                Console.WriteLine();
                Console.WriteLine("Massiv " + i.ToString());
                for (int j = 0; j < Kub[i].GetLength(0); j++)
                {
                    for (int k = 0; k < Kub[i].GetLength(1); k++)
                        Console.Write(Kub[i][j, k].ToString() + " ");
                    Console.WriteLine();
                }
            }
        }
    }
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование массивов ATAMAN200 Общие вопросы C/C++ 11 22.12.2018 16:27
Массивы и обработка массивов vit1990 Помощь студентам 9 08.02.2011 13:07
Массивы массивов и реализация задачи javadeveloper Общие вопросы по Java, Java SE, Kotlin 1 30.07.2010 20:13
Сортировка массивов lulik Паскаль, Turbo Pascal, PascalABC.NET 1 10.06.2010 20:43
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12