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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2013, 18:16   #1
coolguy
Новичок
Джуниор
 
Регистрация: 19.04.2013
Сообщений: 1
По умолчанию Массив и функция

Дан код
Код:
using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    { 

        static void Main(string[] args)
        {
            Random random = new Random();
            int m = (int)random.Next(4, 10);
            int n = (int)random.Next(4, 10);
            int q = (int)random.Next(4, 10);
            int[,] A = new int[n, m];
            int[,] B = new int[q, n];
            int[,] C = new int[q, m];
            for (int j = 0; j < m; j++)
                for (int i = 0; i < n; i++)
                    A[i, j] = random.Next(10);
            for (int j = 0; j < n; j++)
                for (int i = 0; i < q; i++)
                    B[i, j] = random.Next(10);
            for (int y = 0; y < m; y++)
                for (int x = 0; x < q; x++)
                    for (int z = 0; z < n; z++)
                        C[x, y] += A[z, y] * B[x, z];
            Console.WriteLine("\nA:");
            for (int j = 0; j < m; j++)
            {
                for (int i = 0; i < n; i++)
                    Console.Write(A[i, j] + " ");
                Console.WriteLine();
            }
            Console.WriteLine("\nB:");
            for (int j = 0; j < n; j++)
            {
                for (int i = 0; i < q; i++)
                    Console.Write(B[i, j] + " ");
                Console.WriteLine();
            }
            Console.WriteLine("\nC:");
            for (int j = 0; j < m; j++)
            {
                for (int i = 0; i < q; i++)
                    Console.Write(C[i, j] + " ");
                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }
}
Как разбить эту программу на функции например, заполнение массива А одна функция, Б другая, Счет Ц третья и тд
coolguy вне форума Ответить с цитированием
Старый 19.04.2013, 18:34   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Примерно в таком духе:
Код:
static int[,] BuildRandomArray(int n, int m){
  Random random = new Random();
  int[,] A = new int[n, m];
  for (int j = 0; j < m; j++)
                for (int i = 0; i < n; i++)
                    A[i, j] = random.Next(10);
  return A;            
}

//...
int[,] A = BuildRandomArray(n, m);
int[,] B = BuildRandomArray(q, n);
Abstraction вне форума Ответить с цитированием
Старый 22.04.2013, 00:45   #3
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Как вариант, вышенаписанный код, можно разместить в методе отдельного класса. И так поступить со всеми тремя масивами. Будет три отдельных класса, в которых и будут создаваться масивы. И в методе Main() по очереди вызывать методы классов.
Sergey_gorobets вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция возвращает массив C++ MayhemWithMercy Помощь студентам 1 31.10.2012 07:33
Функция, возвращающая массив (С++) Alendorff Помощь студентам 14 09.03.2012 17:23
Функция массив (Delphi) kop Помощь студентам 0 09.11.2011 20:21
Функция возвращает массив Рик Общие вопросы Delphi 5 22.03.2011 09:07
Функция возвращающая массив babaj Общие вопросы Delphi 8 04.07.2009 17:40